From 3b102b477d5466d2216710bf50c20e96b0e96506 Mon Sep 17 00:00:00 2001 From: Justin Adrian Date: Tue, 19 Mar 2024 15:20:52 -0400 Subject: [PATCH 1/8] TF Push reset for beta --- .speakeasy/gen.lock | 197 + .speakeasy/gen.yaml | 27 + .speakeasy/workflow.yaml | 13 + Makefile | 43 - POCScope.md | 45 - POCValidation.md | 62 - README.md | 129 +- USAGE.md | 4 +- docs/data-sources/npa_policy.md | 94 - docs/data-sources/npa_policy_group.md | 38 - docs/data-sources/npa_policy_list.md | 110 - .../npa_publisher_upgrade_profile.md | 37 - .../npa_publisher_upgrade_profile_list.md | 55 - docs/data-sources/npa_publishers.md | 48 - .../npa_publishers_alerts_configuration.md | 29 - docs/data-sources/npa_publishers_apps_list.md | 89 - docs/data-sources/npa_publishers_list.md | 132 - .../npa_publishers_releases_list.md | 42 - docs/data-sources/policy_group_list.md | 54 - docs/data-sources/private_app_list.md | 40 - docs/data-sources/private_app_tag_list.md | 35 - .../private_app_tag_policy_use_list.md | 41 - docs/index.md | 36 - docs/resources/npa_policy.md | 185 - docs/resources/npa_policy_group.md | 54 - .../npa_publisher_upgrade_profile.md | 44 - docs/resources/npa_publishers.md | 60 - .../npa_publishers_alerts_configuration.md | 36 - docs/resources/npa_publishers_bulk_upgrade.md | 96 - docs/resources/private_app.md | 140 - docs/resources/private_app_tag.md | 76 - docs/resources/publisher_token.md | 32 - .../data-sources/ns_npa_policy/data-source.tf | 3 - .../ns_npa_policy_group/data-source.tf | 3 - .../data-source.tf | 3 - .../data-source.tf | 2 - .../ns_npa_publishers/data-source.tf | 3 - .../data-source.tf | 2 - .../data-source.tf | 3 - .../ns_npa_publishers_list/data-source.tf | 3 - .../data-source.tf | 3 - .../ns_policy_group_list/data-source.tf | 7 - .../ns_private_app_list/data-source.tf | 3 - .../ns_private_app_tag_list/data-source.tf | 2 - .../data-source.tf | 5 - .../terraform_npa_policy/data-source.tf | 3 + .../data-source.tf | 2 +- .../terraform_npa_publishers/data-source.tf | 3 + .../data-source.tf | 2 + .../data-source.tf | 3 + .../data-source.tf | 3 + .../data-source.tf | 3 + examples/provider/provider.tf | 8 +- examples/resources/ns_npa_policy/resource.tf | 77 - .../resources/ns_npa_policy_group/resource.tf | 7 - .../resource.tf | 9 - .../resources/ns_npa_publishers/resource.tf | 11 - .../resource.tf | 9 - .../resource.tf | 10 - examples/resources/ns_private_app/resource.tf | 31 - .../resources/ns_private_app_tag/resource.tf | 18 - .../resources/ns_publisher_token/resource.tf | 3 - .../terraform_npa_policy/resource.tf | 12 + .../terraform_npa_publishers/resource.tf | 5 + .../resource.tf | 3 + .../resource.tf | 10 + .../terraform_publisher_token/resource.tf | 3 + examples/speakeasy-test/example.tf | 37 - files.gen | 306 -- gen.yaml | 31 - go.mod | 4 +- .../boolplanmodifier/suppress_diff.go | 17 +- .../float64planmodifier/suppress_diff.go | 17 +- .../int64planmodifier/suppress_diff.go | 17 +- .../listplanmodifier/suppress_diff.go | 17 +- .../mapplanmodifier/suppress_diff.go | 17 +- .../numberplanmodifier/suppress_diff.go | 17 +- .../objectplanmodifier/suppress_diff.go | 17 +- .../setplanmodifier/suppress_diff.go | 17 +- .../stringplanmodifier/suppress_diff.go | 17 +- internal/provider/npapolicy_data_source.go | 39 +- .../provider/npapolicy_data_source_sdk.go | 267 +- internal/provider/npapolicy_resource.go | 103 +- internal/provider/npapolicy_resource_sdk.go | 558 +-- .../provider/npapolicygroup_data_source.go | 148 - .../npapolicygroup_data_source_sdk.go | 51 - internal/provider/npapolicygroup_resource.go | 289 -- .../provider/npapolicygroup_resource_sdk.go | 80 - .../provider/npapolicylist_data_source.go | 37 +- .../provider/npapolicylist_data_source_sdk.go | 277 +- .../provider/npapublishers_data_source.go | 15 +- .../provider/npapublishers_data_source_sdk.go | 108 +- internal/provider/npapublishers_resource.go | 130 +- .../provider/npapublishers_resource_sdk.go | 182 +- ...blishersalertsconfiguration_data_source.go | 13 +- ...hersalertsconfiguration_data_source_sdk.go | 26 +- ...apublishersalertsconfiguration_resource.go | 45 +- ...lishersalertsconfiguration_resource_sdk.go | 41 +- .../npapublishersappslist_data_source.go | 13 +- .../npapublishersappslist_data_source_sdk.go | 243 +- .../npapublishersbulkupgrade_resource.go | 43 +- .../npapublishersbulkupgrade_resource_sdk.go | 191 +- .../provider/npapublisherslist_data_source.go | 29 +- .../npapublisherslist_data_source_sdk.go | 170 +- .../npapublishersreleaseslist_data_source.go | 13 +- ...apublishersreleaseslist_data_source_sdk.go | 50 +- .../npapublisherupgradeprofile_data_source.go | 144 - ...publisherupgradeprofile_data_source_sdk.go | 46 - .../npapublisherupgradeprofile_resource.go | 301 -- ...npapublisherupgradeprofile_resource_sdk.go | 173 - ...publisherupgradeprofilelist_data_source.go | 171 - ...isherupgradeprofilelist_data_source_sdk.go | 115 - .../provider/policygrouplist_data_source.go | 205 - .../policygrouplist_data_source_sdk.go | 69 - internal/provider/privateapp_resource.go | 366 -- internal/provider/privateapp_resource_sdk.go | 395 -- .../provider/privateapplist_data_source.go | 139 - .../privateapplist_data_source_sdk.go | 29 - internal/provider/privateapptag_resource.go | 250 - .../provider/privateapptag_resource_sdk.go | 91 - .../provider/privateapptaglist_data_source.go | 124 - .../privateapptaglist_data_source_sdk.go | 33 - .../privateapptagpolicyuselist_data_source.go | 127 - ...vateapptagpolicyuselist_data_source_sdk.go | 38 - internal/provider/provider.go | 44 +- internal/provider/publishertoken_resource.go | 35 +- .../provider/publishertoken_resource_sdk.go | 12 +- internal/provider/type_group_order.go | 10 - .../type_npa_policygroup_response_item.go | 16 - ...g_apps_private_tags_getpolicyinuse_data.go | 9 - .../type_private_apps_get_response_data.go | 9 - internal/provider/type_protocol_item.go | 10 - .../provider/type_publisher_assessment.go | 2 +- internal/provider/type_publisher_item.go | 10 - .../type_publisher_upgrade_failed_reason.go | 2 +- ...isher_upgrade_profile_get_response_data.go | 7 - internal/provider/type_tag_item_no_id.go | 9 - internal/provider/type_upgrade_profiles.go | 22 - internal/provider/utils.go | 12 +- internal/sdk/npapublishers.go | 148 +- internal/sdk/npapublishersapps.go | 8 +- internal/sdk/npapublishersreleases.go | 8 +- internal/sdk/npapublisherupgradeprofiles.go | 406 -- ...leteinfrastructurepublisherspublisherid.go | 20 +- ...ublisherupgradeprofilesupgradeprofileid.go | 109 - .../deletepolicynpapolicygroupsid.go | 109 - .../operations/deletepolicynparulesid.go | 14 +- .../deletesteeringappsprivateprivateappid.go | 72 - .../deletesteeringappsprivatetags.go | 56 - .../deletesteeringappsprivatetagstagid.go | 80 - .../operations/deletesteeringgretunnelsid.go | 104 - .../deletesteeringipsectunnelsid.go | 104 - .../operations/getinfrastructurepublishers.go | 2 +- ...astructurepublishersalertsconfiguration.go | 2 +- .../getinfrastructurepublisherspublisherid.go | 2 +- ...infrastructurepublisherspublisheridapps.go | 2 +- .../getinfrastructurepublishersreleases.go | 2 +- ...tinfrastructurepublisherupgradeprofiles.go | 68 - ...ublisherupgradeprofilesupgradeprofileid.go | 68 - .../operations/getpolicynpapolicygroups.go | 113 - .../operations/getpolicynpapolicygroupsid.go | 80 - .../models/operations/getpolicynparules.go | 2 +- .../models/operations/getpolicynparulesid.go | 30 +- .../operations/getsteeringappsprivate.go | 68 - .../getsteeringappsprivateprivateappid.go | 68 - .../operations/getsteeringappsprivatetags.go | 56 - .../getsteeringappsprivatetagstagid.go | 68 - .../models/operations/getsteeringgrepops.go | 188 - .../models/operations/getsteeringgrepopsid.go | 122 - .../operations/getsteeringgretunnels.go | 197 - .../operations/getsteeringgretunnelsid.go | 122 - .../models/operations/getsteeringipsecpops.go | 197 - .../operations/getsteeringipsecpopsid.go | 122 - .../operations/getsteeringipsectunnels.go | 206 - .../operations/getsteeringipsectunnelsid.go | 122 - ...atchinfrastructurepublisherspublisherid.go | 36 +- .../patchpolicynpapolicygroupsid.go | 127 - .../operations/patchpolicynparulesid.go | 32 +- .../patchsteeringappsprivateprivateappid.go | 115 - .../patchsteeringappsprivatetags.go | 56 - .../operations/patchsteeringgretunnelsid.go | 122 - .../operations/patchsteeringipsectunnelsid.go | 122 - .../postinfrastructurepublishers.go | 34 +- ...epublisherspublisheridregistrationtoken.go | 12 +- ...tinfrastructurepublisherupgradeprofiles.go | 106 - .../operations/postpolicynpapolicygroups.go | 118 - .../models/operations/postpolicynparules.go | 14 +- .../operations/poststeeringappsprivate.go | 106 - .../poststeeringappsprivategetpolicyinuse.go | 90 - .../operations/poststeeringappsprivatetags.go | 56 - ...ststeeringappsprivatetagsgetpolicyinuse.go | 90 - .../operations/poststeeringgretunnels.go | 101 - .../operations/poststeeringipsectunnels.go | 101 - ...astructurepublishersalertsconfiguration.go | 2 +- .../putinfrastructurepublishersbulk.go | 2 +- .../putinfrastructurepublisherspublisherid.go | 36 +- ...rastructurepublisherupgradeprofilesbulk.go | 110 - ...ublisherupgradeprofilesupgradeprofileid.go | 115 - .../putsteeringappsprivateprivateappid.go | 115 - .../putsteeringappsprivatetagstagid.go | 76 - internal/sdk/pkg/models/shared/fourhundred.go | 22 - .../pkg/models/shared/grepatchresponse200.go | 30 - .../pkg/models/shared/grepopresponse200.go | 30 - .../sdk/pkg/models/shared/grepopresultitem.go | 70 - .../sdk/pkg/models/shared/greresponse200.go | 22 - .../sdk/pkg/models/shared/greresponse201.go | 30 - .../sdk/pkg/models/shared/greresponse400.go | 22 - .../sdk/pkg/models/shared/greresponse403.go | 22 - .../sdk/pkg/models/shared/greresponse404.go | 22 - .../sdk/pkg/models/shared/greresponse405.go | 22 - .../sdk/pkg/models/shared/greresponse409.go | 22 - .../sdk/pkg/models/shared/greresponse429.go | 22 - .../sdk/pkg/models/shared/greresponse500.go | 22 - .../models/shared/gretunnelpopresultitem.go | 78 - .../models/shared/gretunnelrequestpatch.go | 108 - .../pkg/models/shared/gretunnelrequestpost.go | 108 - .../pkg/models/shared/gretunnelresponse200.go | 30 - .../pkg/models/shared/gretunnelresultitem.go | 124 - .../models/shared/ipsecpatchresponse200.go | 30 - .../pkg/models/shared/ipsecpopresponse200.go | 30 - .../pkg/models/shared/ipsecpopresultitem.go | 199 - .../sdk/pkg/models/shared/ipsecresponse200.go | 22 - .../sdk/pkg/models/shared/ipsecresponse201.go | 30 - .../sdk/pkg/models/shared/ipsecresponse400.go | 22 - .../sdk/pkg/models/shared/ipsecresponse403.go | 22 - .../sdk/pkg/models/shared/ipsecresponse404.go | 22 - .../sdk/pkg/models/shared/ipsecresponse405.go | 22 - .../sdk/pkg/models/shared/ipsecresponse409.go | 22 - .../sdk/pkg/models/shared/ipsecresponse429.go | 22 - .../sdk/pkg/models/shared/ipsecresponse500.go | 22 - .../models/shared/ipsectunnelpopresultitem.go | 62 - .../models/shared/ipsectunnelrequestpatch.go | 156 - .../models/shared/ipsectunnelrequestpost.go | 156 - .../models/shared/ipsectunnelresponse200.go | 30 - .../models/shared/ipsectunnelresultitem.go | 164 - .../models/shared/npapolicygrouprequest.go | 73 - .../models/shared/npapolicygroupresponse.go | 14 - .../shared/npapolicygroupresponse400.go | 22 - .../shared/npapolicygroupresponseitem.go | 70 - .../sdk/pkg/models/shared/npapolicyrequest.go | 42 +- .../pkg/models/shared/npapolicyresponse400.go | 10 +- .../models/shared/npapolicyresponseitem.go | 14 +- .../pkg/models/shared/npapolicyruledata.go | 178 +- .../sdk/pkg/models/shared/npapolicyruledlp.go | 10 +- .../models/shared/privateappsgetresponse.go | 73 - .../models/shared/privateappsputrequest.go | 94 - .../pkg/models/shared/privateappsrequest.go | 86 - .../pkg/models/shared/privateappsresponse.go | 97 - .../models/shared/privateappsresponse400.go | 22 - .../sdk/pkg/models/shared/protocolitem.go | 22 - .../pkg/models/shared/protocolresponseitem.go | 10 +- internal/sdk/pkg/models/shared/publisher.go | 62 +- .../shared/publisherappslistresponse.go | 116 +- .../pkg/models/shared/publisherbulkitem.go | 76 +- .../pkg/models/shared/publisherbulkrequest.go | 12 +- .../sdk/pkg/models/shared/publisheritem.go | 22 - .../pkg/models/shared/publisherpostrequest.go | 22 +- .../pkg/models/shared/publisherputrequest.go | 14 +- .../pkg/models/shared/publisherresponse.go | 42 +- .../models/shared/publishersbulkresponse.go | 10 +- .../shared/publishersreleasegetresponse.go | 10 +- .../models/shared/publishersresponse400.go | 10 +- .../publisherupgradeprofilebulkrequest.go | 44 - .../publisherupgradeprofilebulkresponse.go | 62 - .../publisherupgradeprofilegetresponse.go | 188 - .../publisherupgradeprofilepostrequest.go | 62 - .../publisherupgradeprofileputrequest.go | 62 - .../shared/publisherupgradeprofileresponse.go | 73 - .../shared/servicepublisherassignmentitem.go | 30 +- internal/sdk/pkg/models/shared/tagitemnoid.go | 2 +- internal/sdk/pkg/models/shared/tagrequest.go | 38 - internal/sdk/pkg/models/shared/tagresponse.go | 33 - .../sdk/pkg/models/shared/tagresponse400.go | 22 - .../models/shared/upgradepublisherresponse.go | 121 - internal/sdk/pkg/utils/form.go | 2 +- internal/sdk/pkg/utils/json.go | 33 +- internal/sdk/pkg/utils/pathparams.go | 2 +- internal/sdk/pkg/utils/security.go | 4 +- internal/sdk/publishertoken.go | 8 +- internal/sdk/sdk.go | 3731 +------------- internal/validators/DateValidator.go | 2 +- .../validators/boolvalidators/not_null.go | 49 + .../validators/float64validators/not_null.go | 49 + .../validators/int64validators/not_null.go | 49 + .../validators/listvalidators/not_null.go | 49 + internal/validators/mapvalidators/not_null.go | 49 + .../validators/numbervalidators/not_null.go | 49 + .../validators/objectvalidators/not_null.go | 49 + internal/validators/setvalidators/not_null.go | 49 + .../validators/stringvalidators/not_null.go | 49 + main.go | 6 +- netskope.yaml | 4335 ----------------- 292 files changed, 2941 insertions(+), 23588 deletions(-) create mode 100755 .speakeasy/gen.lock create mode 100755 .speakeasy/gen.yaml create mode 100644 .speakeasy/workflow.yaml delete mode 100644 Makefile delete mode 100644 POCScope.md delete mode 100644 POCValidation.md delete mode 100644 docs/data-sources/npa_policy.md delete mode 100644 docs/data-sources/npa_policy_group.md delete mode 100644 docs/data-sources/npa_policy_list.md delete mode 100644 docs/data-sources/npa_publisher_upgrade_profile.md delete mode 100644 docs/data-sources/npa_publisher_upgrade_profile_list.md delete mode 100644 docs/data-sources/npa_publishers.md delete mode 100644 docs/data-sources/npa_publishers_alerts_configuration.md delete mode 100644 docs/data-sources/npa_publishers_apps_list.md delete mode 100644 docs/data-sources/npa_publishers_list.md delete mode 100644 docs/data-sources/npa_publishers_releases_list.md delete mode 100644 docs/data-sources/policy_group_list.md delete mode 100644 docs/data-sources/private_app_list.md delete mode 100644 docs/data-sources/private_app_tag_list.md delete mode 100644 docs/data-sources/private_app_tag_policy_use_list.md delete mode 100644 docs/index.md delete mode 100644 docs/resources/npa_policy.md delete mode 100644 docs/resources/npa_policy_group.md delete mode 100644 docs/resources/npa_publisher_upgrade_profile.md delete mode 100644 docs/resources/npa_publishers.md delete mode 100644 docs/resources/npa_publishers_alerts_configuration.md delete mode 100644 docs/resources/npa_publishers_bulk_upgrade.md delete mode 100644 docs/resources/private_app.md delete mode 100644 docs/resources/private_app_tag.md delete mode 100644 docs/resources/publisher_token.md delete mode 100644 examples/data-sources/ns_npa_policy/data-source.tf delete mode 100644 examples/data-sources/ns_npa_policy_group/data-source.tf delete mode 100644 examples/data-sources/ns_npa_publisher_upgrade_profile/data-source.tf delete mode 100644 examples/data-sources/ns_npa_publisher_upgrade_profile_list/data-source.tf delete mode 100644 examples/data-sources/ns_npa_publishers/data-source.tf delete mode 100644 examples/data-sources/ns_npa_publishers_alerts_configuration/data-source.tf delete mode 100644 examples/data-sources/ns_npa_publishers_apps_list/data-source.tf delete mode 100644 examples/data-sources/ns_npa_publishers_list/data-source.tf delete mode 100644 examples/data-sources/ns_npa_publishers_releases_list/data-source.tf delete mode 100644 examples/data-sources/ns_policy_group_list/data-source.tf delete mode 100644 examples/data-sources/ns_private_app_list/data-source.tf delete mode 100644 examples/data-sources/ns_private_app_tag_list/data-source.tf delete mode 100644 examples/data-sources/ns_private_app_tag_policy_use_list/data-source.tf create mode 100644 examples/data-sources/terraform_npa_policy/data-source.tf rename examples/data-sources/{ns_npa_policy_list => terraform_npa_policy_list}/data-source.tf (70%) create mode 100644 examples/data-sources/terraform_npa_publishers/data-source.tf create mode 100644 examples/data-sources/terraform_npa_publishers_alerts_configuration/data-source.tf create mode 100644 examples/data-sources/terraform_npa_publishers_apps_list/data-source.tf create mode 100644 examples/data-sources/terraform_npa_publishers_list/data-source.tf create mode 100644 examples/data-sources/terraform_npa_publishers_releases_list/data-source.tf delete mode 100644 examples/resources/ns_npa_policy/resource.tf delete mode 100644 examples/resources/ns_npa_policy_group/resource.tf delete mode 100644 examples/resources/ns_npa_publisher_upgrade_profile/resource.tf delete mode 100644 examples/resources/ns_npa_publishers/resource.tf delete mode 100644 examples/resources/ns_npa_publishers_alerts_configuration/resource.tf delete mode 100644 examples/resources/ns_npa_publishers_bulk_upgrade/resource.tf delete mode 100644 examples/resources/ns_private_app/resource.tf delete mode 100644 examples/resources/ns_private_app_tag/resource.tf delete mode 100644 examples/resources/ns_publisher_token/resource.tf create mode 100644 examples/resources/terraform_npa_policy/resource.tf create mode 100644 examples/resources/terraform_npa_publishers/resource.tf create mode 100644 examples/resources/terraform_npa_publishers_alerts_configuration/resource.tf create mode 100644 examples/resources/terraform_npa_publishers_bulk_upgrade/resource.tf create mode 100644 examples/resources/terraform_publisher_token/resource.tf delete mode 100644 examples/speakeasy-test/example.tf delete mode 100644 files.gen delete mode 100755 gen.yaml delete mode 100644 internal/provider/npapolicygroup_data_source.go delete mode 100644 internal/provider/npapolicygroup_data_source_sdk.go delete mode 100644 internal/provider/npapolicygroup_resource.go delete mode 100644 internal/provider/npapolicygroup_resource_sdk.go delete mode 100644 internal/provider/npapublisherupgradeprofile_data_source.go delete mode 100644 internal/provider/npapublisherupgradeprofile_data_source_sdk.go delete mode 100644 internal/provider/npapublisherupgradeprofile_resource.go delete mode 100644 internal/provider/npapublisherupgradeprofile_resource_sdk.go delete mode 100644 internal/provider/npapublisherupgradeprofilelist_data_source.go delete mode 100644 internal/provider/npapublisherupgradeprofilelist_data_source_sdk.go delete mode 100644 internal/provider/policygrouplist_data_source.go delete mode 100644 internal/provider/policygrouplist_data_source_sdk.go delete mode 100644 internal/provider/privateapp_resource.go delete mode 100644 internal/provider/privateapp_resource_sdk.go delete mode 100644 internal/provider/privateapplist_data_source.go delete mode 100644 internal/provider/privateapplist_data_source_sdk.go delete mode 100644 internal/provider/privateapptag_resource.go delete mode 100644 internal/provider/privateapptag_resource_sdk.go delete mode 100644 internal/provider/privateapptaglist_data_source.go delete mode 100644 internal/provider/privateapptaglist_data_source_sdk.go delete mode 100644 internal/provider/privateapptagpolicyuselist_data_source.go delete mode 100644 internal/provider/privateapptagpolicyuselist_data_source_sdk.go delete mode 100644 internal/provider/type_group_order.go delete mode 100644 internal/provider/type_npa_policygroup_response_item.go delete mode 100644 internal/provider/type_post_steering_apps_private_tags_getpolicyinuse_data.go delete mode 100644 internal/provider/type_private_apps_get_response_data.go delete mode 100644 internal/provider/type_protocol_item.go delete mode 100644 internal/provider/type_publisher_item.go delete mode 100644 internal/provider/type_publisher_upgrade_profile_get_response_data.go delete mode 100644 internal/provider/type_tag_item_no_id.go delete mode 100644 internal/provider/type_upgrade_profiles.go delete mode 100644 internal/sdk/npapublisherupgradeprofiles.go delete mode 100644 internal/sdk/pkg/models/operations/deleteinfrastructurepublisherupgradeprofilesupgradeprofileid.go delete mode 100644 internal/sdk/pkg/models/operations/deletepolicynpapolicygroupsid.go delete mode 100644 internal/sdk/pkg/models/operations/deletesteeringappsprivateprivateappid.go delete mode 100644 internal/sdk/pkg/models/operations/deletesteeringappsprivatetags.go delete mode 100644 internal/sdk/pkg/models/operations/deletesteeringappsprivatetagstagid.go delete mode 100644 internal/sdk/pkg/models/operations/deletesteeringgretunnelsid.go delete mode 100644 internal/sdk/pkg/models/operations/deletesteeringipsectunnelsid.go delete mode 100644 internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofiles.go delete mode 100644 internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofilesupgradeprofileid.go delete mode 100644 internal/sdk/pkg/models/operations/getpolicynpapolicygroups.go delete mode 100644 internal/sdk/pkg/models/operations/getpolicynpapolicygroupsid.go delete mode 100644 internal/sdk/pkg/models/operations/getsteeringappsprivate.go delete mode 100644 internal/sdk/pkg/models/operations/getsteeringappsprivateprivateappid.go delete mode 100644 internal/sdk/pkg/models/operations/getsteeringappsprivatetags.go delete mode 100644 internal/sdk/pkg/models/operations/getsteeringappsprivatetagstagid.go delete mode 100644 internal/sdk/pkg/models/operations/getsteeringgrepops.go delete mode 100644 internal/sdk/pkg/models/operations/getsteeringgrepopsid.go delete mode 100644 internal/sdk/pkg/models/operations/getsteeringgretunnels.go delete mode 100644 internal/sdk/pkg/models/operations/getsteeringgretunnelsid.go delete mode 100644 internal/sdk/pkg/models/operations/getsteeringipsecpops.go delete mode 100644 internal/sdk/pkg/models/operations/getsteeringipsecpopsid.go delete mode 100644 internal/sdk/pkg/models/operations/getsteeringipsectunnels.go delete mode 100644 internal/sdk/pkg/models/operations/getsteeringipsectunnelsid.go delete mode 100644 internal/sdk/pkg/models/operations/patchpolicynpapolicygroupsid.go delete mode 100644 internal/sdk/pkg/models/operations/patchsteeringappsprivateprivateappid.go delete mode 100644 internal/sdk/pkg/models/operations/patchsteeringappsprivatetags.go delete mode 100644 internal/sdk/pkg/models/operations/patchsteeringgretunnelsid.go delete mode 100644 internal/sdk/pkg/models/operations/patchsteeringipsectunnelsid.go delete mode 100644 internal/sdk/pkg/models/operations/postinfrastructurepublisherupgradeprofiles.go delete mode 100644 internal/sdk/pkg/models/operations/postpolicynpapolicygroups.go delete mode 100644 internal/sdk/pkg/models/operations/poststeeringappsprivate.go delete mode 100644 internal/sdk/pkg/models/operations/poststeeringappsprivategetpolicyinuse.go delete mode 100644 internal/sdk/pkg/models/operations/poststeeringappsprivatetags.go delete mode 100644 internal/sdk/pkg/models/operations/poststeeringappsprivatetagsgetpolicyinuse.go delete mode 100644 internal/sdk/pkg/models/operations/poststeeringgretunnels.go delete mode 100644 internal/sdk/pkg/models/operations/poststeeringipsectunnels.go delete mode 100644 internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesbulk.go delete mode 100644 internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesupgradeprofileid.go delete mode 100644 internal/sdk/pkg/models/operations/putsteeringappsprivateprivateappid.go delete mode 100644 internal/sdk/pkg/models/operations/putsteeringappsprivatetagstagid.go delete mode 100644 internal/sdk/pkg/models/shared/fourhundred.go delete mode 100644 internal/sdk/pkg/models/shared/grepatchresponse200.go delete mode 100644 internal/sdk/pkg/models/shared/grepopresponse200.go delete mode 100644 internal/sdk/pkg/models/shared/grepopresultitem.go delete mode 100644 internal/sdk/pkg/models/shared/greresponse200.go delete mode 100644 internal/sdk/pkg/models/shared/greresponse201.go delete mode 100644 internal/sdk/pkg/models/shared/greresponse400.go delete mode 100644 internal/sdk/pkg/models/shared/greresponse403.go delete mode 100644 internal/sdk/pkg/models/shared/greresponse404.go delete mode 100644 internal/sdk/pkg/models/shared/greresponse405.go delete mode 100644 internal/sdk/pkg/models/shared/greresponse409.go delete mode 100644 internal/sdk/pkg/models/shared/greresponse429.go delete mode 100644 internal/sdk/pkg/models/shared/greresponse500.go delete mode 100644 internal/sdk/pkg/models/shared/gretunnelpopresultitem.go delete mode 100644 internal/sdk/pkg/models/shared/gretunnelrequestpatch.go delete mode 100644 internal/sdk/pkg/models/shared/gretunnelrequestpost.go delete mode 100644 internal/sdk/pkg/models/shared/gretunnelresponse200.go delete mode 100644 internal/sdk/pkg/models/shared/gretunnelresultitem.go delete mode 100644 internal/sdk/pkg/models/shared/ipsecpatchresponse200.go delete mode 100644 internal/sdk/pkg/models/shared/ipsecpopresponse200.go delete mode 100644 internal/sdk/pkg/models/shared/ipsecpopresultitem.go delete mode 100644 internal/sdk/pkg/models/shared/ipsecresponse200.go delete mode 100644 internal/sdk/pkg/models/shared/ipsecresponse201.go delete mode 100644 internal/sdk/pkg/models/shared/ipsecresponse400.go delete mode 100644 internal/sdk/pkg/models/shared/ipsecresponse403.go delete mode 100644 internal/sdk/pkg/models/shared/ipsecresponse404.go delete mode 100644 internal/sdk/pkg/models/shared/ipsecresponse405.go delete mode 100644 internal/sdk/pkg/models/shared/ipsecresponse409.go delete mode 100644 internal/sdk/pkg/models/shared/ipsecresponse429.go delete mode 100644 internal/sdk/pkg/models/shared/ipsecresponse500.go delete mode 100644 internal/sdk/pkg/models/shared/ipsectunnelpopresultitem.go delete mode 100644 internal/sdk/pkg/models/shared/ipsectunnelrequestpatch.go delete mode 100644 internal/sdk/pkg/models/shared/ipsectunnelrequestpost.go delete mode 100644 internal/sdk/pkg/models/shared/ipsectunnelresponse200.go delete mode 100644 internal/sdk/pkg/models/shared/ipsectunnelresultitem.go delete mode 100644 internal/sdk/pkg/models/shared/npapolicygrouprequest.go delete mode 100644 internal/sdk/pkg/models/shared/npapolicygroupresponse.go delete mode 100644 internal/sdk/pkg/models/shared/npapolicygroupresponse400.go delete mode 100644 internal/sdk/pkg/models/shared/npapolicygroupresponseitem.go delete mode 100644 internal/sdk/pkg/models/shared/privateappsgetresponse.go delete mode 100644 internal/sdk/pkg/models/shared/privateappsputrequest.go delete mode 100644 internal/sdk/pkg/models/shared/privateappsrequest.go delete mode 100644 internal/sdk/pkg/models/shared/privateappsresponse.go delete mode 100644 internal/sdk/pkg/models/shared/privateappsresponse400.go delete mode 100644 internal/sdk/pkg/models/shared/protocolitem.go delete mode 100644 internal/sdk/pkg/models/shared/publisheritem.go delete mode 100644 internal/sdk/pkg/models/shared/publisherupgradeprofilebulkrequest.go delete mode 100644 internal/sdk/pkg/models/shared/publisherupgradeprofilebulkresponse.go delete mode 100644 internal/sdk/pkg/models/shared/publisherupgradeprofilegetresponse.go delete mode 100644 internal/sdk/pkg/models/shared/publisherupgradeprofilepostrequest.go delete mode 100644 internal/sdk/pkg/models/shared/publisherupgradeprofileputrequest.go delete mode 100644 internal/sdk/pkg/models/shared/publisherupgradeprofileresponse.go delete mode 100644 internal/sdk/pkg/models/shared/tagrequest.go delete mode 100644 internal/sdk/pkg/models/shared/tagresponse.go delete mode 100644 internal/sdk/pkg/models/shared/tagresponse400.go delete mode 100644 internal/sdk/pkg/models/shared/upgradepublisherresponse.go create mode 100644 internal/validators/boolvalidators/not_null.go create mode 100644 internal/validators/float64validators/not_null.go create mode 100644 internal/validators/int64validators/not_null.go create mode 100644 internal/validators/listvalidators/not_null.go create mode 100644 internal/validators/mapvalidators/not_null.go create mode 100644 internal/validators/numbervalidators/not_null.go create mode 100644 internal/validators/objectvalidators/not_null.go create mode 100644 internal/validators/setvalidators/not_null.go create mode 100644 internal/validators/stringvalidators/not_null.go delete mode 100644 netskope.yaml diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock new file mode 100755 index 0000000..4c9175a --- /dev/null +++ b/.speakeasy/gen.lock @@ -0,0 +1,197 @@ +lockVersion: 2.0.0 +id: a76d3a50-7d28-47aa-96a0-41eb7882b85b +management: + docChecksum: b3cc26c2dcd11d688f57f5aa75ff28e4 + docVersion: 1.0.0 + speakeasyVersion: 1.210.0 + generationVersion: 2.281.2 + releaseVersion: 0.0.2 + configChecksum: 35c04194cc994986d4408bf17c163a04 +features: + terraform: + constsAndDefaults: 0.1.4 + core: 3.10.3 + globalSecurity: 2.81.5 + globalServerURLs: 2.82.1 + groups: 2.81.2 + ignores: 2.81.1 + nameOverrides: 2.81.1 + typeOverrides: 2.81.1 + unions: 2.81.9 +generatedFiles: + - internal/sdk/npapublishers.go + - internal/sdk/publishertoken.go + - internal/sdk/npapublishersapps.go + - internal/sdk/npapublishersreleases.go + - internal/sdk/sdk.go + - examples/README.md + - go.mod + - go.sum + - internal/planmodifiers/boolplanmodifier/suppress_diff.go + - internal/planmodifiers/float64planmodifier/suppress_diff.go + - internal/planmodifiers/int64planmodifier/suppress_diff.go + - internal/planmodifiers/listplanmodifier/suppress_diff.go + - internal/planmodifiers/mapplanmodifier/suppress_diff.go + - internal/planmodifiers/numberplanmodifier/suppress_diff.go + - internal/planmodifiers/objectplanmodifier/suppress_diff.go + - internal/planmodifiers/setplanmodifier/suppress_diff.go + - internal/planmodifiers/stringplanmodifier/suppress_diff.go + - internal/planmodifiers/utils/state_check.go + - internal/provider/reflect/diags.go + - internal/provider/reflect/doc.go + - internal/provider/reflect/generic_attr_value.go + - internal/provider/reflect/helpers.go + - internal/provider/reflect/interfaces.go + - internal/provider/reflect/into.go + - internal/provider/reflect/map.go + - internal/provider/reflect/number.go + - internal/provider/reflect/options.go + - internal/provider/reflect/outof.go + - internal/provider/reflect/pointer.go + - internal/provider/reflect/primitive.go + - internal/provider/reflect/slice.go + - internal/provider/reflect/struct.go + - internal/provider/utils.go + - internal/sdk/pkg/models/sdkerrors/sdkerror.go + - internal/sdk/pkg/types/bigint.go + - internal/sdk/pkg/types/date.go + - internal/sdk/pkg/types/datetime.go + - internal/sdk/pkg/types/decimal.go + - internal/sdk/pkg/types/pointers.go + - internal/sdk/pkg/utils/contenttype.go + - internal/sdk/pkg/utils/form.go + - internal/sdk/pkg/utils/headers.go + - internal/sdk/pkg/utils/json.go + - internal/sdk/pkg/utils/pathparams.go + - internal/sdk/pkg/utils/queryparams.go + - internal/sdk/pkg/utils/requestbody.go + - internal/sdk/pkg/utils/retries.go + - internal/sdk/pkg/utils/security.go + - internal/sdk/pkg/utils/utils.go + - internal/validators/DateValidator.go + - internal/validators/ExactlyOneChild.go + - internal/validators/JSONParseValidator.go + - internal/validators/RFC3339Validator.go + - internal/validators/boolvalidators/not_null.go + - internal/validators/float64validators/not_null.go + - internal/validators/int64validators/not_null.go + - internal/validators/listvalidators/not_null.go + - internal/validators/mapvalidators/not_null.go + - internal/validators/numbervalidators/not_null.go + - internal/validators/objectvalidators/not_null.go + - internal/validators/setvalidators/not_null.go + - internal/validators/stringvalidators/not_null.go + - main.go + - terraform-registry-manifest.json + - tools/tools.go + - internal/sdk/pkg/models/operations/patchinfrastructurepublisherspublisherid.go + - internal/sdk/pkg/models/operations/putinfrastructurepublishersbulk.go + - internal/sdk/pkg/models/operations/getinfrastructurepublishersalertsconfiguration.go + - internal/sdk/pkg/models/operations/putinfrastructurepublishersalertsconfiguration.go + - internal/sdk/pkg/models/operations/getpolicynparules.go + - internal/sdk/pkg/models/operations/postpolicynparules.go + - internal/sdk/pkg/models/operations/deletepolicynparulesid.go + - internal/sdk/pkg/models/operations/patchpolicynparulesid.go + - internal/sdk/pkg/models/operations/getpolicynparulesid.go + - internal/sdk/pkg/models/operations/getinfrastructurepublishers.go + - internal/sdk/pkg/models/operations/postinfrastructurepublishers.go + - internal/sdk/pkg/models/operations/deleteinfrastructurepublisherspublisherid.go + - internal/sdk/pkg/models/operations/putinfrastructurepublisherspublisherid.go + - internal/sdk/pkg/models/operations/getinfrastructurepublisherspublisherid.go + - internal/sdk/pkg/models/operations/postinfrastructurepublisherspublisheridregistrationtoken.go + - internal/sdk/pkg/models/operations/getinfrastructurepublisherspublisheridapps.go + - internal/sdk/pkg/models/operations/getinfrastructurepublishersreleases.go + - internal/sdk/pkg/models/shared/publishersresponse400.go + - internal/sdk/pkg/models/shared/publisherresponse.go + - internal/sdk/pkg/models/shared/tagitem.go + - internal/sdk/pkg/models/shared/publisherputrequest.go + - internal/sdk/pkg/models/shared/publishersbulkresponse.go + - internal/sdk/pkg/models/shared/publisherbulkitem.go + - internal/sdk/pkg/models/shared/publisherbulkrequest.go + - internal/sdk/pkg/models/shared/publishersalertgetresponse.go + - internal/sdk/pkg/models/shared/publishersalertputrequest.go + - internal/sdk/pkg/models/shared/npapolicyresponse400.go + - internal/sdk/pkg/models/shared/npapolicylistresponse.go + - internal/sdk/pkg/models/shared/npapolicyresponseitem.go + - internal/sdk/pkg/models/shared/npapolicyruledata.go + - internal/sdk/pkg/models/shared/npapolicyruledlp.go + - internal/sdk/pkg/models/shared/npapolicyrequest.go + - internal/sdk/pkg/models/shared/publishersgetresponse.go + - internal/sdk/pkg/models/shared/data.go + - internal/sdk/pkg/models/shared/publisher.go + - internal/sdk/pkg/models/shared/upgradestatus.go + - internal/sdk/pkg/models/shared/upgradefailedreason.go + - internal/sdk/pkg/models/shared/assessment.go + - internal/sdk/pkg/models/shared/publisherpostrequest.go + - internal/sdk/pkg/models/shared/tagitemnoid.go + - internal/sdk/pkg/models/shared/publisherappslistresponse.go + - internal/sdk/pkg/models/shared/servicepublisherassignmentitem.go + - internal/sdk/pkg/models/shared/protocolresponseitem.go + - internal/sdk/pkg/models/shared/publishersreleasegetresponse.go + - internal/sdk/pkg/models/shared/releaseitem.go + - internal/sdk/pkg/models/shared/security.go + - internal/provider/type_npa_policy_rule_dlp.go + - internal/provider/type_match_criteria_action.go + - internal/provider/type_activities.go + - internal/provider/type_private_apps_with_activities.go + - internal/provider/type_npa_policy_rule_data.go + - internal/provider/type_rule_order.go + - internal/provider/type_tag_item.go + - internal/provider/type_publisher_bulk_item_assessment.go + - internal/provider/type_publisher_bulk_item.go + - internal/provider/type_apply.go + - internal/provider/type_publishers.go + - internal/provider/type_npa_policy_response_item.go + - internal/provider/type_protocol_response_item.go + - internal/provider/type_reachability.go + - internal/provider/type_service_publisher_assignment_item.go + - internal/provider/type_publisher_apps_list_response_data.go + - internal/provider/type_assessment.go + - internal/provider/type_publisher_assessment.go + - internal/provider/type_stitcher_id.go + - internal/provider/type_upgrade_failed_reason.go + - internal/provider/type_publisher_upgrade_failed_reason.go + - internal/provider/type_upgrade_status.go + - internal/provider/type_publisher.go + - internal/provider/type_data.go + - internal/provider/type_release_item.go + - USAGE.md + - internal/provider/provider.go + - examples/provider/provider.tf + - internal/provider/npapolicy_resource.go + - internal/provider/npapolicy_resource_sdk.go + - examples/resources/terraform_npa_policy/resource.tf + - internal/provider/npapublishers_resource.go + - internal/provider/npapublishers_resource_sdk.go + - examples/resources/terraform_npa_publishers/resource.tf + - internal/provider/npapublishersalertsconfiguration_resource.go + - internal/provider/npapublishersalertsconfiguration_resource_sdk.go + - examples/resources/terraform_npa_publishers_alerts_configuration/resource.tf + - internal/provider/npapublishersbulkupgrade_resource.go + - internal/provider/npapublishersbulkupgrade_resource_sdk.go + - examples/resources/terraform_npa_publishers_bulk_upgrade/resource.tf + - internal/provider/publishertoken_resource.go + - internal/provider/publishertoken_resource_sdk.go + - examples/resources/terraform_publisher_token/resource.tf + - internal/provider/npapolicy_data_source.go + - internal/provider/npapolicy_data_source_sdk.go + - examples/data-sources/terraform_npa_policy/data-source.tf + - internal/provider/npapolicylist_data_source.go + - internal/provider/npapolicylist_data_source_sdk.go + - examples/data-sources/terraform_npa_policy_list/data-source.tf + - internal/provider/npapublishers_data_source.go + - internal/provider/npapublishers_data_source_sdk.go + - examples/data-sources/terraform_npa_publishers/data-source.tf + - internal/provider/npapublishersalertsconfiguration_data_source.go + - internal/provider/npapublishersalertsconfiguration_data_source_sdk.go + - examples/data-sources/terraform_npa_publishers_alerts_configuration/data-source.tf + - internal/provider/npapublishersappslist_data_source.go + - internal/provider/npapublishersappslist_data_source_sdk.go + - examples/data-sources/terraform_npa_publishers_apps_list/data-source.tf + - internal/provider/npapublisherslist_data_source.go + - internal/provider/npapublisherslist_data_source_sdk.go + - examples/data-sources/terraform_npa_publishers_list/data-source.tf + - internal/provider/npapublishersreleaseslist_data_source.go + - internal/provider/npapublishersreleaseslist_data_source_sdk.go + - examples/data-sources/terraform_npa_publishers_releases_list/data-source.tf + - .gitattributes diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml new file mode 100755 index 0000000..1835492 --- /dev/null +++ b/.speakeasy/gen.yaml @@ -0,0 +1,27 @@ +configVersion: 2.0.0 +generation: + sdkClassName: terraform-provider-ns + maintainOpenAPIOrder: true + usageSnippets: + optionalPropertyRendering: withExample + useClassNamesForArrayFields: true + fixes: + nameResolutionDec2023: true + parameterOrderingFeb2024: true + requestResponseComponentNamesFeb2024: true + auth: + oAuth2ClientCredentialsEnabled: true +terraform: + version: 0.0.2 + author: speakeasy + imports: + option: openapi + paths: + callbacks: callbacks + errors: sdkerrors + operations: operations + shared: shared + webhooks: webhooks + inputModelSuffix: input + outputModelSuffix: output + packageName: terraform diff --git a/.speakeasy/workflow.yaml b/.speakeasy/workflow.yaml new file mode 100644 index 0000000..c2551c2 --- /dev/null +++ b/.speakeasy/workflow.yaml @@ -0,0 +1,13 @@ +workflowVersion: 1.0.0 +sources: + openapi: + inputs: + - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/base_oas.yaml + - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/infrastructure/npa_publisher.yaml + - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/policy/npa_policy.yaml + overlays: + - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/terraform_overlay.yaml +targets: + first-target: + target: terraform + source: openapi diff --git a/Makefile b/Makefile deleted file mode 100644 index 8090ed3..0000000 --- a/Makefile +++ /dev/null @@ -1,43 +0,0 @@ -.PHONY: all docs terraform-provider-ns-npa-publisher check-local-oas - -all: terraform-provider-ns-npa-publisher - -docs: - go generate ./... - -terraform-provider-ns-npa-publisher: netskope.yaml - speakeasy generate sdk --lang terraform -o . -s netskope.yaml - #go run ../../cmd/generate/main.go -l terraform -o . -s netskope.yaml - -spec/merged.yaml: check-speakeasy check-local-oas - speakeasy merge -s "${NETSKOPE_LOCAL_OAS_REPO}/base_oas.yaml" \ - -s "${NETSKOPE_LOCAL_OAS_REPO}/endpoints/steering/npa_apps_private.yaml" \ - -s "${NETSKOPE_LOCAL_OAS_REPO}/endpoints/infrastructure/npa_publisher.yaml" \ - -s "${NETSKOPE_LOCAL_OAS_REPO}/endpoints/infrastructure/npa_upgrade_profiles.yaml" \ - -s "${NETSKOPE_LOCAL_OAS_REPO}/endpoints/policy/npa_policy.yaml" \ - -s "${NETSKOPE_LOCAL_OAS_REPO}/endpoints/policy/npa_policygroup.yaml" \ - -s "${NETSKOPE_LOCAL_OAS_REPO}/endpoints/steering/gre.yaml" \ - -s "${NETSKOPE_LOCAL_OAS_REPO}/endpoints/steering/ipsec.yaml" \ - -s "${NETSKOPE_LOCAL_OAS_REPO}/endpoints/steering/npa_private_tag.yaml" \ - -o spec/merged.yaml - -netskope.yaml: check-speakeasy check-local-oas spec/merged.yaml - cp spec/merged.yaml netskope.yaml - #speakeasy overlay apply -s spec/merged.yaml -o ${NETSKOPE_LOCAL_OAS_REPO}/terraform_overlay.yaml > spec/netskope.yaml - -install-local: all docs - go build -o terraform-provider-ns && mv terraform-provider-ns /Users/sbrown/go/bin/terraform-provider-ns -check-speakeasy: - @command -v speakeasy >/dev/null 2>&1 || { echo >&2 "speakeasy CLI is not installed. Please install before continuing."; exit 1; } - -check-local-oas: -ifndef NETSKOPE_LOCAL_OAS_REPO - $(error Environment variable NETSKOPE_LOCAL_OAS_REPO is undefined) -endif -ifneq ($(wildcard ${NETSKOPE_LOCAL_OAS_REPO}/.*),) - @echo "Found ${NETSKOPE_LOCAL_OAS_REPO}." -else - @echo "Did not find ${NETSKOPE_LOCAL_OAS_REPO}." -endif - - diff --git a/POCScope.md b/POCScope.md deleted file mode 100644 index fc1ef38..0000000 --- a/POCScope.md +++ /dev/null @@ -1,45 +0,0 @@ -## Defined: - - - [x] infrastructure/publishers get `NPAPublishers#read` - - [x] infrastructure/publishers post `NPAPublisher#create` - - [x] infrastructure/publishers/{id} delete `NPAPublisher#create` - - [x] infrastructure/publishers/{id} put `NPAPublisher#update` - - [x] infrastructure/publishers/{id} patch (unnecessary) - - [x] infrastructure/publishers/{id}/registration_token post `PublisherToken#create` - - [x] infrastructure/publishers/{id}/apps get `NPAPublisherApps#read` - - [x] infrastructure/publishers/bulk put `NPAPublisherBulkUpgrade#create` - - [x] infrastructure/publishers/releases get `NPAPublisherReleases#read` - - [x] infrastructure/publishers/alertsconfiguration get `NPAPublisherAlertsList#read` # Note -- requires unreleased CLI version - - [x] infrastructure/publishers/alertsconfiguration put `NPAPublisherAlerts#create` - - [x] infrastructure/publisherupgradeprofiles get `NPAPublisherUpgradeProfileList#read` - - [x] infrastructure/publisherupgradeprofiles post `NPAPublisherUpgradeProfile#create` - - [x] infrastructure/publisherupgradeprofiles/{id} delete `NPAPublisherUpgradeProfile#delete` - - [x] infrastructure/publisherupgradeprofiles/{id} put `NPAPublisherUpgradeProfile#update` - - [x] infrastructure/publisherupgradeprofiles/{id} get `NPAPublisherUpgradeProfile#get` - - [x] infrastructure/publisherupgradeprofiles/bulk put (Note: doesn't suit terraform, no delete) - - [x] policy/npa/rules get `NPAPolicyList#read` - - [x] policy/npa/rules post `NPAPolicy#create` - - [x] policy/npa/rules/{id} delete `NPAPolicy#delete` - - [x] policy/npa/rules/{id} patch `NPAPolicy#update` - - [x] policy/npa/rules/{id] get `NPAPolicy#read` - - [x] policy/npa/policygroups get `NPAPolicyGroupList#read` - - [x] policy/npa/policygroups post `NPAPolicyGroup#create` - - [x] policy/npa/policygroups/{id} delete `NPAPolicyGroup#delete` - - [x] policy/npa/policygroups/{id} patch `NPAPolicyGroup#update` - - [x] policy/npa/policygroups/{id} get `NPAPolicyGroup#get` - - [x] apps/private get `PrivateAppList#read` - - [x] apps/private post `PrivateApp#create` - - [x] apps/private/{id} delete `PrivateApp#delete` - - [x] apps/private/{id} put `PrivateApp#update` - - [x] apps/private/{id} patch (superfluous?) - - [x] apps/private/{id} get `PrivateApp#read` - - [x] apps/private/getpolicyinuse post `PrivateAppPolicyUseCount#read` - - [x] apps/private/tags post (superfluous) - - [x] apps/private/tags patch (superfluous) - - [x] apps/private/tags delete (superfluous) - - [x] apps/private/tags get `PrivateAppTagList#get` - - [x] apps/private/tags/{id} get `PrivateAppTag#read` - - [x] apps/private/tags/{id} put `PrivateAppTag#create,update` - - [x] apps/private/tags/{id} delete `PrivateAppTag#delete` - - [x] apps/private/tags/getpolicyinuse get `PrivateAppTagPolicyUseList#get` - diff --git a/POCValidation.md b/POCValidation.md deleted file mode 100644 index 81fbcc4..0000000 --- a/POCValidation.md +++ /dev/null @@ -1,62 +0,0 @@ -## Publisher Validation - -### Data Sources Read - - [x] npa_policy - - [x] npa_policy_group - - [x] npa_policy_list - - [x] npa_publisher_upgrade_profile_list - - [x] ns_npa_publisher_upgrade_profile - - [x] npa_publishers - - [] ~~npa_publishers_alerts_list~~ - - [x] npa_publishers_apps_list - - [x] npa_publishers_list - - [x] npa_publishers_releases_list - - [x] policy_group_list - - [-] private_app_list (Partially working need to look closer at the OAS for this object) - - [] private_app_tag_list - - [] private_app_tag_policy_use_list - - - ### Resource Create -- [x] npa_policy -- [x] npa_policy_group -- [x] npa_publisher_upgrade_profile -- [x] npa_publishers -- [] ~~npa_publishers_alerts~~ -- [] npa_publishers_bulk_upgrade -- [x] private_app -- [] private_app_tag -- [x] publisher_token - - ### Resource Update -- [x] npa_policy -- [x] npa_policy_group -- [x] npa_publisher_upgrade_profile -- [x] npa_publishers -- [] ~~npa_publishers_alerts~~ -- [] npa_publishers_bulk_upgrade -- [x] private_app -- [] private_app_tag - - ### Resource Delete -- [x] npa_policy -- [x] npa_policy_group -- [x] npa_publisher_upgrade_profile -- [x] npa_publishers -- [] ~~npa_publishers_alerts~~ -- [] npa_publishers_bulk_upgrade -- [x] private_app -- [] private_app_tag - - - ### Resource Import -- [] npa_policy -- [] npa_policy_group -- [] npa_publisher_upgrade_profile -- [] npa_publishers -- [] npa_publishers_alerts -- [] npa_publishers_bulk_upgrade -- [-] ~~private_app~~ -- [] private_app_tag - - diff --git a/README.md b/README.md index f030c0b..3cb7814 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,129 @@ -# terraform-provider-ns +# terraform - - - +
+ +
+ + +To install this provider, copy and paste this code into your Terraform configuration. Then, run `terraform init`. - +```hcl +terraform { + required_providers { + terraform = { + source = "speakeasy/terraform" + version = "0.0.1" + } + } +} - +provider "terraform" { + # Configuration options +} +``` + + + + +### Testing the provider locally + +Should you want to validate a change locally, the `--debug` flag allows you to execute the provider against a terraform instance locally. + +This also allows for debuggers (e.g. delve) to be attached to the provider. + +### Example + +```sh +go run main.go --debug +# Copy the TF_REATTACH_PROVIDERS env var +# In a new terminal +cd examples/your-example +TF_REATTACH_PROVIDERS=... terraform init +TF_REATTACH_PROVIDERS=... terraform apply +``` + + + + + + + + +## SDK Installation + +To install this provider, copy and paste this code into your Terraform configuration. Then, run `terraform init`. + +```hcl +terraform { + required_providers { + terraform = { + source = "speakeasy/terraform" + version = "0.0.2" + } + } +} + +provider "terraform" { + # Configuration options +} +``` + + + +## SDK Example Usage + +### Testing the provider locally + +Should you want to validate a change locally, the `--debug` flag allows you to execute the provider against a terraform instance locally. + +This also allows for debuggers (e.g. delve) to be attached to the provider. + +### Example + +```sh +go run main.go --debug +# Copy the TF_REATTACH_PROVIDERS env var +# In a new terminal +cd examples/your-example +TF_REATTACH_PROVIDERS=... terraform init +TF_REATTACH_PROVIDERS=... terraform apply +``` + + + +## Available Resources and Operations + + + + +Terraform allows you to use local provider builds by setting a `dev_overrides` block in a configuration file called `.terraformrc`. This block overrides all other configured installation methods. + +Terraform searches for the `.terraformrc` file in your home directory and applies any configuration settings you set. + +``` +provider_installation { + + dev_overrides { + "registry.terraform.io/speakeasy/terraform" = "" + } + + # For all other providers, install them directly from their origin provider + # registries as normal. If you omit this, Terraform will _only_ use + # the dev_overrides block, and so no other providers will be available. + direct {} +} +``` + +Your `` may vary depending on how your Go environment variables are configured. Execute `go env GOBIN` to set it, then set the `` to the value returned. If nothing is returned, set it to the default location, `$HOME/go/bin`. + +Note: To use the dev_overrides, please ensure you run `go build` in this folder. You must have a binary available for terraform to find. + +### Contributions + +While we value open-source contributions to this SDK, this library is generated programmatically. +Feel free to open a PR or a Github issue as a proof of concept and we'll do our best to include it in a future release! + +### SDK Created by [Speakeasy](https://docs.speakeasyapi.dev/docs/using-speakeasy/client-sdks) diff --git a/USAGE.md b/USAGE.md index 2ffc222..8e707bb 100644 --- a/USAGE.md +++ b/USAGE.md @@ -1,4 +1,4 @@ - + ```sh go run main.go --debug # Copy the TF_REATTACH_PROVIDERS env var @@ -7,4 +7,4 @@ cd examples/your-example TF_REATTACH_PROVIDERS=... terraform init TF_REATTACH_PROVIDERS=... terraform apply ``` - \ No newline at end of file + \ No newline at end of file diff --git a/docs/data-sources/npa_policy.md b/docs/data-sources/npa_policy.md deleted file mode 100644 index f43d6c0..0000000 --- a/docs/data-sources/npa_policy.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_npa_policy Data Source - terraform-provider-ns" -subcategory: "" -description: |- - NPAPolicy DataSource ---- - -# ns_npa_policy (Data Source) - -NPAPolicy DataSource - -## Example Usage - -```terraform -data "ns_npa_policy" "my_npapolicy" { - rule_id = "...my_rule_id..." -} -``` - - -## Schema - -### Required - -- `rule_id` (String) npa policy id - -### Read-Only - -- `rule_data` (Attributes) (see [below for nested schema](#nestedatt--rule_data)) -- `rule_name` (String) - - -### Nested Schema for `rule_data` - -Read-Only: - -- `access_method` (List of String) -- `b_negate_net_location` (Boolean) -- `b_negate_src_countries` (Boolean) -- `classification` (String) -- `dlp_actions` (Attributes List) (see [below for nested schema](#nestedatt--rule_data--dlp_actions)) -- `external_dlp` (Boolean) -- `json_version` (Number) -- `match_criteria_action` (Attributes) (see [below for nested schema](#nestedatt--rule_data--match_criteria_action)) -- `net_location_obj` (List of String) -- `organization_units` (List of String) -- `policy_type` (String) must be one of ["private-app"] -- `private_app_ids` (List of String) -- `private_app_tag_ids` (List of String) -- `private_app_tags` (List of String) -- `private_apps` (List of String) -- `private_apps_with_activities` (Attributes List) (see [below for nested schema](#nestedatt--rule_data--private_apps_with_activities)) -- `show_dlp_profile_action_table` (Boolean) -- `src_countries` (List of String) -- `user_groups` (List of String) -- `user_type` (String) must be one of ["user"] -- `users` (List of String) -- `version` (Number) - - -### Nested Schema for `rule_data.dlp_actions` - -Read-Only: - -- `actions` (List of String) -- `dlp_profile` (String) - - - -### Nested Schema for `rule_data.match_criteria_action` - -Read-Only: - -- `action_name` (String) must be one of ["allow", "block"] - - - -### Nested Schema for `rule_data.private_apps_with_activities` - -Read-Only: - -- `activities` (Attributes List) (see [below for nested schema](#nestedatt--rule_data--private_apps_with_activities--activities)) -- `app_name` (String) - - -### Nested Schema for `rule_data.private_apps_with_activities.activities` - -Read-Only: - -- `activity` (String) must be one of ["any"] -- `list_of_constraints` (List of String) - - diff --git a/docs/data-sources/npa_policy_group.md b/docs/data-sources/npa_policy_group.md deleted file mode 100644 index b2c4f4d..0000000 --- a/docs/data-sources/npa_policy_group.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_npa_policy_group Data Source - terraform-provider-ns" -subcategory: "" -description: |- - NPAPolicyGroup DataSource ---- - -# ns_npa_policy_group (Data Source) - -NPAPolicyGroup DataSource - -## Example Usage - -```terraform -data "ns_npa_policy_group" "my_npapolicygroup" { - group_id = "...my_group_id..." -} -``` - - -## Schema - -### Required - -- `group_id` (String) npa policy group id - -### Read-Only - -- `can_be_edited_deleted` (String) -- `group_name` (String) -- `group_pinned_id` (Number) -- `group_prod_id` (Number) -- `group_type` (String) -- `modify_time` (String) -- `modify_type` (String) - - diff --git a/docs/data-sources/npa_policy_list.md b/docs/data-sources/npa_policy_list.md deleted file mode 100644 index c12698e..0000000 --- a/docs/data-sources/npa_policy_list.md +++ /dev/null @@ -1,110 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_npa_policy_list Data Source - terraform-provider-ns" -subcategory: "" -description: |- - NPAPolicyList DataSource ---- - -# ns_npa_policy_list (Data Source) - -NPAPolicyList DataSource - -## Example Usage - -```terraform -data "ns_npa_policy_list" "my_npapolicylist" { - filter = "...my_filter..." - limit = 8 - offset = 5 - sortby = "...my_sortby..." - sortorder = "...my_sortorder..." -} -``` - - -## Schema - -### Optional - -- `filter` (String) Query string based on query operaters -- `limit` (Number) Max number of policies to retrieve. Default will be all policies. -- `offset` (Number) The offset of the first policy in the list to retrieve. -- `sortby` (String) Sort retrieved policies by specified field. Default is policy id -- `sortorder` (String) Sort in either asc or desc order. The default is asc order - -### Read-Only - -- `data` (Attributes List) (see [below for nested schema](#nestedatt--data)) - - -### Nested Schema for `data` - -Read-Only: - -- `rule_data` (Attributes) (see [below for nested schema](#nestedatt--data--rule_data)) -- `rule_id` (String) -- `rule_name` (String) - - -### Nested Schema for `data.rule_data` - -Read-Only: - -- `access_method` (List of String) -- `b_negate_net_location` (Boolean) -- `b_negate_src_countries` (Boolean) -- `classification` (String) -- `dlp_actions` (Attributes List) (see [below for nested schema](#nestedatt--data--rule_data--dlp_actions)) -- `external_dlp` (Boolean) -- `json_version` (Number) -- `match_criteria_action` (Attributes) (see [below for nested schema](#nestedatt--data--rule_data--match_criteria_action)) -- `net_location_obj` (List of String) -- `organization_units` (List of String) -- `policy_type` (String) must be one of ["private-app"] -- `private_app_ids` (List of String) -- `private_app_tag_ids` (List of String) -- `private_app_tags` (List of String) -- `private_apps` (List of String) -- `private_apps_with_activities` (Attributes List) (see [below for nested schema](#nestedatt--data--rule_data--private_apps_with_activities)) -- `show_dlp_profile_action_table` (Boolean) -- `src_countries` (List of String) -- `user_groups` (List of String) -- `user_type` (String) must be one of ["user"] -- `users` (List of String) -- `version` (Number) - - -### Nested Schema for `data.rule_data.dlp_actions` - -Read-Only: - -- `actions` (List of String) -- `dlp_profile` (String) - - - -### Nested Schema for `data.rule_data.match_criteria_action` - -Read-Only: - -- `action_name` (String) must be one of ["allow", "block"] - - - -### Nested Schema for `data.rule_data.private_apps_with_activities` - -Read-Only: - -- `activities` (Attributes List) (see [below for nested schema](#nestedatt--data--rule_data--private_apps_with_activities--activities)) -- `app_name` (String) - - -### Nested Schema for `data.rule_data.private_apps_with_activities.app_name` - -Read-Only: - -- `activity` (String) must be one of ["any"] -- `list_of_constraints` (List of String) - - diff --git a/docs/data-sources/npa_publisher_upgrade_profile.md b/docs/data-sources/npa_publisher_upgrade_profile.md deleted file mode 100644 index 4d59fd6..0000000 --- a/docs/data-sources/npa_publisher_upgrade_profile.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_npa_publisher_upgrade_profile Data Source - terraform-provider-ns" -subcategory: "" -description: |- - NPAPublisherUpgradeProfile DataSource ---- - -# ns_npa_publisher_upgrade_profile (Data Source) - -NPAPublisherUpgradeProfile DataSource - -## Example Usage - -```terraform -data "ns_npa_publisher_upgrade_profile" "my_npapublisherupgradeprofile" { - id = 9 -} -``` - - -## Schema - -### Required - -- `id` (Number) publisher upgrade profile id - -### Read-Only - -- `docker_tag` (String) -- `enabled` (Boolean) -- `frequency` (String) -- `name` (String) -- `release_type` (String) -- `timezone` (String) - - diff --git a/docs/data-sources/npa_publisher_upgrade_profile_list.md b/docs/data-sources/npa_publisher_upgrade_profile_list.md deleted file mode 100644 index f212b3f..0000000 --- a/docs/data-sources/npa_publisher_upgrade_profile_list.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_npa_publisher_upgrade_profile_list Data Source - terraform-provider-ns" -subcategory: "" -description: |- - NPAPublisherUpgradeProfileList DataSource ---- - -# ns_npa_publisher_upgrade_profile_list (Data Source) - -NPAPublisherUpgradeProfileList DataSource - -## Example Usage - -```terraform -data "ns_npa_publisher_upgrade_profile_list" "my_npapublisherupgradeprofilelist" { -} -``` - - -## Schema - -### Read-Only - -- `data` (Attributes) (see [below for nested schema](#nestedatt--data)) -- `total` (Number) - - -### Nested Schema for `data` - -Read-Only: - -- `upgrade_profiles` (Attributes List) (see [below for nested schema](#nestedatt--data--upgrade_profiles)) - - -### Nested Schema for `data.upgrade_profiles` - -Read-Only: - -- `created_at` (String) -- `docker_tag` (String) -- `enabled` (Boolean) -- `external_id` (Number) -- `frequency` (String) -- `id` (Number) -- `name` (String) -- `next_update_time` (Number) -- `num_associated_publisher` (Number) -- `release_type` (String) -- `timezone` (String) -- `updated_at` (String) -- `upgrading_stage` (Number) -- `will_start` (Boolean) - - diff --git a/docs/data-sources/npa_publishers.md b/docs/data-sources/npa_publishers.md deleted file mode 100644 index 4938869..0000000 --- a/docs/data-sources/npa_publishers.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_npa_publishers Data Source - terraform-provider-ns" -subcategory: "" -description: |- - NPAPublishers DataSource ---- - -# ns_npa_publishers (Data Source) - -NPAPublishers DataSource - -## Example Usage - -```terraform -data "ns_npa_publishers" "my_npapublishers" { - id = 2 -} -``` - - -## Schema - -### Required - -- `id` (Number) publisher id - -### Read-Only - -- `assessment` (String) Parsed as JSON. -- `common_name` (String) -- `lbrokerconnect` (Boolean) -- `name` (String) -- `publisher_upgrade_profile_id` (Number) -- `registered` (Boolean) -- `status` (String) must be one of ["connected", "not registered"] -- `stitcher_id` (Number) -- `tags` (Attributes List) (see [below for nested schema](#nestedatt--tags)) - - -### Nested Schema for `tags` - -Read-Only: - -- `tag_id` (Number) -- `tag_name` (String) - - diff --git a/docs/data-sources/npa_publishers_alerts_configuration.md b/docs/data-sources/npa_publishers_alerts_configuration.md deleted file mode 100644 index 97a9cd4..0000000 --- a/docs/data-sources/npa_publishers_alerts_configuration.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_npa_publishers_alerts_configuration Data Source - terraform-provider-ns" -subcategory: "" -description: |- - NPAPublishersAlertsConfiguration DataSource ---- - -# ns_npa_publishers_alerts_configuration (Data Source) - -NPAPublishersAlertsConfiguration DataSource - -## Example Usage - -```terraform -data "ns_npa_publishers_alerts_configuration" "my_npapublishersalertsconfiguration" { -} -``` - - -## Schema - -### Read-Only - -- `admin_users` (List of String) -- `event_types` (List of String) -- `selected_users` (String) - - diff --git a/docs/data-sources/npa_publishers_apps_list.md b/docs/data-sources/npa_publishers_apps_list.md deleted file mode 100644 index d3d53eb..0000000 --- a/docs/data-sources/npa_publishers_apps_list.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_npa_publishers_apps_list Data Source - terraform-provider-ns" -subcategory: "" -description: |- - NPAPublishersAppsList DataSource ---- - -# ns_npa_publishers_apps_list (Data Source) - -NPAPublishersAppsList DataSource - -## Example Usage - -```terraform -data "ns_npa_publishers_apps_list" "my_npapublishersappslist" { - publisher_id = 6 -} -``` - - -## Schema - -### Required - -- `publisher_id` (Number) publisher id - -### Read-Only - -- `data` (Attributes List) (see [below for nested schema](#nestedatt--data)) -- `status` (String) must be one of ["success", "not found"] - - -### Nested Schema for `data` - -Read-Only: - -- `clientless_access` (Boolean) -- `host` (String) -- `id` (Number) -- `name` (String) -- `protocols` (Attributes List) (see [below for nested schema](#nestedatt--data--protocols)) -- `real_host` (String) -- `service_publisher_assignments` (Attributes List) (see [below for nested schema](#nestedatt--data--service_publisher_assignments)) -- `tags` (Attributes List) (see [below for nested schema](#nestedatt--data--tags)) -- `trust_self_signed_certs` (Boolean) -- `use_publisher_dns` (Boolean) - - -### Nested Schema for `data.protocols` - -Read-Only: - -- `id` (Number) -- `port` (String) -- `service_id` (Number) -- `transport` (String) - - - -### Nested Schema for `data.service_publisher_assignments` - -Read-Only: - -- `primary` (Boolean) -- `publisher_id` (Number) -- `reachability` (Attributes) (see [below for nested schema](#nestedatt--data--service_publisher_assignments--reachability)) -- `service_id` (Number) - - -### Nested Schema for `data.service_publisher_assignments.reachability` - -Read-Only: - -- `error_code` (Number) -- `error_string` (String) -- `reachable` (Boolean) - - - - -### Nested Schema for `data.tags` - -Read-Only: - -- `tag_id` (Number) -- `tag_name` (String) - - diff --git a/docs/data-sources/npa_publishers_list.md b/docs/data-sources/npa_publishers_list.md deleted file mode 100644 index e569a82..0000000 --- a/docs/data-sources/npa_publishers_list.md +++ /dev/null @@ -1,132 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_npa_publishers_list Data Source - terraform-provider-ns" -subcategory: "" -description: |- - NPAPublishersList DataSource ---- - -# ns_npa_publishers_list (Data Source) - -NPAPublishersList DataSource - -## Example Usage - -```terraform -data "ns_npa_publishers_list" "my_npapublisherslist" { - fields = "...my_fields..." -} -``` - - -## Schema - -### Optional - -- `fields` (String) Return values only from specified fields - -### Read-Only - -- `data` (Attributes) (see [below for nested schema](#nestedatt--data)) -- `status` (String) -- `total` (Number) - - -### Nested Schema for `data` - -Read-Only: - -- `publishers` (Attributes List) (see [below for nested schema](#nestedatt--data--publishers)) - - -### Nested Schema for `data.publishers` - -Read-Only: - -- `apps_count` (Number) -- `assessment` (Attributes) (see [below for nested schema](#nestedatt--data--publishers--assessment)) -- `common_name` (String) -- `connected_apps` (List of String) -- `lbrokerconnect` (Boolean) -- `publisher_id` (Number) -- `publisher_name` (String) -- `publisher_upgrade_profiles_external_id` (Number) -- `registered` (Boolean) -- `status` (String) -- `stitcher_id` (Attributes) (see [below for nested schema](#nestedatt--data--publishers--stitcher_id)) -- `tags` (List of String) -- `upgrade_failed_reason` (Attributes) (see [below for nested schema](#nestedatt--data--publishers--upgrade_failed_reason)) -- `upgrade_request` (Boolean) -- `upgrade_status` (Attributes) (see [below for nested schema](#nestedatt--data--publishers--upgrade_status)) - - -### Nested Schema for `data.publishers.assessment` - -Read-Only: - -- `assessment` (Attributes) (see [below for nested schema](#nestedatt--data--publishers--assessment--assessment)) -- `two` (Attributes) (see [below for nested schema](#nestedatt--data--publishers--assessment--two)) - - -### Nested Schema for `data.publishers.assessment.two` - -Read-Only: - -- `eee_support` (Boolean) -- `hdd_free` (String) -- `hdd_total` (String) -- `ip_address` (String) -- `latency` (Number) -- `version` (String) - - - -### Nested Schema for `data.publishers.assessment.two` - - - - -### Nested Schema for `data.publishers.stitcher_id` - -Read-Only: - -- `integer` (Number) -- `two` (Attributes) (see [below for nested schema](#nestedatt--data--publishers--stitcher_id--two)) - - -### Nested Schema for `data.publishers.stitcher_id.two` - - - - -### Nested Schema for `data.publishers.upgrade_failed_reason` - -Read-Only: - -- `two` (Attributes) (see [below for nested schema](#nestedatt--data--publishers--upgrade_failed_reason--two)) -- `upgrade_failed_reason` (Attributes) (see [below for nested schema](#nestedatt--data--publishers--upgrade_failed_reason--upgrade_failed_reason)) - - -### Nested Schema for `data.publishers.upgrade_failed_reason.upgrade_failed_reason` - - - -### Nested Schema for `data.publishers.upgrade_failed_reason.upgrade_failed_reason` - -Read-Only: - -- `detail` (String) -- `error_code` (Number) -- `timestamp` (Number) -- `version` (String) - - - - -### Nested Schema for `data.publishers.upgrade_status` - -Read-Only: - -- `upstat` (String) - - diff --git a/docs/data-sources/npa_publishers_releases_list.md b/docs/data-sources/npa_publishers_releases_list.md deleted file mode 100644 index 74825df..0000000 --- a/docs/data-sources/npa_publishers_releases_list.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_npa_publishers_releases_list Data Source - terraform-provider-ns" -subcategory: "" -description: |- - NPAPublishersReleasesList DataSource ---- - -# ns_npa_publishers_releases_list (Data Source) - -NPAPublishersReleasesList DataSource - -## Example Usage - -```terraform -data "ns_npa_publishers_releases_list" "my_npapublishersreleaseslist" { - fields = "...my_fields..." -} -``` - - -## Schema - -### Optional - -- `fields` (String) Return values only from specified fields - -### Read-Only - -- `data` (Attributes List) (see [below for nested schema](#nestedatt--data)) -- `status` (String) must be one of ["success", "not found"] - - -### Nested Schema for `data` - -Read-Only: - -- `docker_tag` (String) -- `name` (String) -- `version` (String) - - diff --git a/docs/data-sources/policy_group_list.md b/docs/data-sources/policy_group_list.md deleted file mode 100644 index 1495c24..0000000 --- a/docs/data-sources/policy_group_list.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_policy_group_list Data Source - terraform-provider-ns" -subcategory: "" -description: |- - PolicyGroupList DataSource ---- - -# ns_policy_group_list (Data Source) - -PolicyGroupList DataSource - -## Example Usage - -```terraform -data "ns_policy_group_list" "my_policygrouplist" { - filter = "...my_filter..." - limit = 7 - offset = 8 - sortby = "...my_sortby..." - sortorder = "...my_sortorder..." -} -``` - - -## Schema - -### Optional - -- `filter` (String) Query string based on query operaters -- `limit` (Number) Max number of policy groups to retrieve. Default will be all policy groups. -- `offset` (Number) The offset of the first policy group in the list to retrieve. -- `sortby` (String) Sort retrieved policy group by specified field. Default is policy group id -- `sortorder` (String) Sort in either asc or desc order. The default is asc order - -### Read-Only - -- `data` (Attributes List) (see [below for nested schema](#nestedatt--data)) - - -### Nested Schema for `data` - -Read-Only: - -- `can_be_edited_deleted` (String) -- `group_id` (String) -- `group_name` (String) -- `group_pinned_id` (Number) -- `group_prod_id` (Number) -- `group_type` (String) -- `modify_time` (String) -- `modify_type` (String) - - diff --git a/docs/data-sources/private_app_list.md b/docs/data-sources/private_app_list.md deleted file mode 100644 index 5432110..0000000 --- a/docs/data-sources/private_app_list.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_private_app_list Data Source - terraform-provider-ns" -subcategory: "" -description: |- - PrivateAppList DataSource ---- - -# ns_private_app_list (Data Source) - -PrivateAppList DataSource - -## Example Usage - -```terraform -data "ns_private_app_list" "my_privateapplist" { - fields = "...my_fields..." -} -``` - - -## Schema - -### Optional - -- `fields` (String) Return values only from specified fields - -### Read-Only - -- `data` (Attributes) (see [below for nested schema](#nestedatt--data)) -- `total` (Number) - - -### Nested Schema for `data` - -Read-Only: - -- `private_apps` (List of String) - - diff --git a/docs/data-sources/private_app_tag_list.md b/docs/data-sources/private_app_tag_list.md deleted file mode 100644 index 2fe36d0..0000000 --- a/docs/data-sources/private_app_tag_list.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_private_app_tag_list Data Source - terraform-provider-ns" -subcategory: "" -description: |- - PrivateAppTagList DataSource ---- - -# ns_private_app_tag_list (Data Source) - -PrivateAppTagList DataSource - -## Example Usage - -```terraform -data "ns_private_app_tag_list" "my_privateapptaglist" { -} -``` - - -## Schema - -### Read-Only - -- `data` (Attributes List) (see [below for nested schema](#nestedatt--data)) - - -### Nested Schema for `data` - -Read-Only: - -- `tag_id` (Number) -- `tag_name` (String) - - diff --git a/docs/data-sources/private_app_tag_policy_use_list.md b/docs/data-sources/private_app_tag_policy_use_list.md deleted file mode 100644 index 0eb099a..0000000 --- a/docs/data-sources/private_app_tag_policy_use_list.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_private_app_tag_policy_use_list Data Source - terraform-provider-ns" -subcategory: "" -description: |- - PrivateAppTagPolicyUseList DataSource ---- - -# ns_private_app_tag_policy_use_list (Data Source) - -PrivateAppTagPolicyUseList DataSource - -## Example Usage - -```terraform -data "ns_private_app_tag_policy_use_list" "my_privateapptagpolicyuselist" { - ids = [ - "...", - ] -} -``` - - -## Schema - -### Optional - -- `ids` (List of String) - -### Read-Only - -- `data` (Attributes List) (see [below for nested schema](#nestedatt--data)) - - -### Nested Schema for `data` - -Read-Only: - -- `token` (String) - - diff --git a/docs/index.md b/docs/index.md deleted file mode 100644 index 912051c..0000000 --- a/docs/index.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns Provider" -subcategory: "" -description: |- - npaprivateapp_tags: NPA Private app tag operations. ---- - -# ns Provider - -npa_private_app_tags: NPA Private app tag operations. - -## Example Usage - -```terraform -terraform { - required_providers { - ns = { - source = "netskope/ns" - version = "0.0.1" - } - } -} - -provider "ns" { - # Configuration options -} -``` - - -## Schema - -### Optional - -- `api_key` (String, Sensitive) -- `server_url` (String) Server URL (defaults to https://{tenant}.goskope.com/api/v2) diff --git a/docs/resources/npa_policy.md b/docs/resources/npa_policy.md deleted file mode 100644 index 62a83df..0000000 --- a/docs/resources/npa_policy.md +++ /dev/null @@ -1,185 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_npa_policy Resource - terraform-provider-ns" -subcategory: "" -description: |- - NPAPolicy Resource ---- - -# ns_npa_policy (Resource) - -NPAPolicy Resource - -## Example Usage - -```terraform -resource "ns_npa_policy" "my_npapolicy" { - description = "any" - enabled = "1" - group_name = "My policy group" - rule_data = { - access_method = [ - ["Client", "Clientless"], - ] - b_negate_net_location = true - b_negate_src_countries = true - classification = "...my_classification..." - dlp_actions = [ - { - actions = [ - "allow", - ] - dlp_profile = "Payment Card" - }, - ] - external_dlp = false - json_version = 3 - match_criteria_action = { - action_name = "block" - } - net_location_obj = [ - "...", - ] - organization_units = [ - "...", - ] - policy_type = "private-app" - private_app_ids = [ - "...", - ] - private_apps = [ - "...", - ] - private_apps_with_activities = [ - { - activities = [ - { - activity = "any" - list_of_constraints = [ - "...", - ] - }, - ] - app_name = "[172.31.12.135]" - }, - ] - private_app_tag_ids = [ - "...", - ] - private_app_tags = [ - "...", - ] - show_dlp_profile_action_table = false - src_countries = [ - "...", - ] - user_groups = [ - "...", - ] - users = [ - "...", - ] - user_type = "user" - version = 1 - } - rule_name = "van-test" - rule_order = { - order = "before" - position = 5 - rule_id = "1" - rule_name = "api-policy-managed" - } -} -``` - - -## Schema - -### Optional - -- `description` (String) -- `enabled` (String) -- `group_name` (String) -- `rule_data` (Attributes) (see [below for nested schema](#nestedatt--rule_data)) -- `rule_name` (String) -- `rule_order` (Attributes) (see [below for nested schema](#nestedatt--rule_order)) - -### Read-Only - -- `rule_id` (String) - - -### Nested Schema for `rule_data` - -Optional: - -- `access_method` (List of String) -- `b_negate_net_location` (Boolean) -- `b_negate_src_countries` (Boolean) -- `classification` (String) -- `dlp_actions` (Attributes List) (see [below for nested schema](#nestedatt--rule_data--dlp_actions)) -- `external_dlp` (Boolean) -- `json_version` (Number) -- `match_criteria_action` (Attributes) (see [below for nested schema](#nestedatt--rule_data--match_criteria_action)) -- `net_location_obj` (List of String) -- `organization_units` (List of String) -- `policy_type` (String) must be one of ["private-app"] -- `private_app_ids` (List of String) -- `private_app_tag_ids` (List of String) -- `private_app_tags` (List of String) -- `private_apps` (List of String) -- `private_apps_with_activities` (Attributes List) (see [below for nested schema](#nestedatt--rule_data--private_apps_with_activities)) -- `show_dlp_profile_action_table` (Boolean) -- `src_countries` (List of String) -- `user_groups` (List of String) -- `user_type` (String) must be one of ["user"] -- `users` (List of String) -- `version` (Number) - - -### Nested Schema for `rule_data.dlp_actions` - -Optional: - -- `actions` (List of String) -- `dlp_profile` (String) - - - -### Nested Schema for `rule_data.match_criteria_action` - -Optional: - -- `action_name` (String) must be one of ["allow", "block"] - - - -### Nested Schema for `rule_data.private_apps_with_activities` - -Optional: - -- `activities` (Attributes List) (see [below for nested schema](#nestedatt--rule_data--private_apps_with_activities--activities)) -- `app_name` (String) - - -### Nested Schema for `rule_data.private_apps_with_activities.activities` - -Optional: - -- `activity` (String) must be one of ["any"] -- `list_of_constraints` (List of String) - - - - - -### Nested Schema for `rule_order` - -Optional: - -- `order` (String) must be one of ["top", "bottom", "before", "after"] -- `position` (Number) -- `rule_id` (String) -- `rule_name` (String) - - diff --git a/docs/resources/npa_policy_group.md b/docs/resources/npa_policy_group.md deleted file mode 100644 index b1f141a..0000000 --- a/docs/resources/npa_policy_group.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_npa_policy_group Resource - terraform-provider-ns" -subcategory: "" -description: |- - NPAPolicyGroup Resource ---- - -# ns_npa_policy_group (Resource) - -NPAPolicyGroup Resource - -## Example Usage - -```terraform -resource "ns_npa_policy_group" "my_npapolicygroup" { - group_name = "...my_group_name..." - group_order = { - group_id = "1" - order = "after" - } -} -``` - - -## Schema - -### Required - -- `group_order` (Attributes) (see [below for nested schema](#nestedatt--group_order)) - -### Optional - -- `group_name` (String) - -### Read-Only - -- `can_be_edited_deleted` (String) -- `group_id` (String) -- `group_pinned_id` (Number) -- `group_prod_id` (Number) -- `group_type` (String) -- `modify_time` (String) -- `modify_type` (String) - - -### Nested Schema for `group_order` - -Required: - -- `group_id` (String) -- `order` (String) must be one of ["before", "after"] - - diff --git a/docs/resources/npa_publisher_upgrade_profile.md b/docs/resources/npa_publisher_upgrade_profile.md deleted file mode 100644 index bf6066c..0000000 --- a/docs/resources/npa_publisher_upgrade_profile.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_npa_publisher_upgrade_profile Resource - terraform-provider-ns" -subcategory: "" -description: |- - NPAPublisherUpgradeProfile Resource ---- - -# ns_npa_publisher_upgrade_profile (Resource) - -NPAPublisherUpgradeProfile Resource - -## Example Usage - -```terraform -resource "ns_npa_publisher_upgrade_profile" "my_npapublisherupgradeprofile" { - docker_tag = "...my_docker_tag..." - enabled = true - frequency = "...my_frequency..." - name = "Jerald Graham MD" - release_type = "...my_release_type..." - required = "{ \"see\": \"documentation\" }" - timezone = "...my_timezone..." -} -``` - - -## Schema - -### Optional - -- `docker_tag` (String) -- `enabled` (Boolean) -- `frequency` (String) -- `name` (String) -- `release_type` (String) -- `required` (String) Parsed as JSON. -- `timezone` (String) - -### Read-Only - -- `id` (Number) The ID of this resource. - - diff --git a/docs/resources/npa_publishers.md b/docs/resources/npa_publishers.md deleted file mode 100644 index d786a01..0000000 --- a/docs/resources/npa_publishers.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_npa_publishers Resource - terraform-provider-ns" -subcategory: "" -description: |- - NPAPublishers Resource ---- - -# ns_npa_publishers (Resource) - -NPAPublishers Resource - -## Example Usage - -```terraform -resource "ns_npa_publishers" "my_npapublishers" { - lbrokerconnect = false - name = "Sherri Mohr" - publisher_upgrade_profiles_id = 1 - tags = [ - { - tag_id = 3 - tag_name = "...my_tag_name..." - }, - ] -} -``` - - -## Schema - -### Optional - -- `lbrokerconnect` (Boolean) -- `name` (String) -- `publisher_upgrade_profiles_id` (Number) Default: 1 -- `tags` (Attributes List) (see [below for nested schema](#nestedatt--tags)) - -### Read-Only - -- `assessment` (String) Parsed as JSON. -- `common_name` (String) -- `id` (Number) The ID of this resource. -- `publisher_upgrade_profile_id` (Number) -- `registered` (Boolean) -- `status` (String) must be one of ["connected", "not registered"] -- `stitcher_id` (Number) - - -### Nested Schema for `tags` - -Optional: - -- `tag_name` (String) - -Read-Only: - -- `tag_id` (Number) - - diff --git a/docs/resources/npa_publishers_alerts_configuration.md b/docs/resources/npa_publishers_alerts_configuration.md deleted file mode 100644 index 6b5b6ac..0000000 --- a/docs/resources/npa_publishers_alerts_configuration.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_npa_publishers_alerts_configuration Resource - terraform-provider-ns" -subcategory: "" -description: |- - NPAPublishersAlertsConfiguration Resource ---- - -# ns_npa_publishers_alerts_configuration (Resource) - -NPAPublishersAlertsConfiguration Resource - -## Example Usage - -```terraform -resource "ns_npa_publishers_alerts_configuration" "my_npapublishersalertsconfiguration" { - admin_users = [ - ["admin1@abc.com", "admin2@abc.com"], - ] - event_types = [ - "UPGRADE_FAILED", - ] - selected_users = "abc@xyz.com,def@xyz.com" -} -``` - - -## Schema - -### Optional - -- `admin_users` (List of String) -- `event_types` (List of String) -- `selected_users` (String) - - diff --git a/docs/resources/npa_publishers_bulk_upgrade.md b/docs/resources/npa_publishers_bulk_upgrade.md deleted file mode 100644 index 88a04c3..0000000 --- a/docs/resources/npa_publishers_bulk_upgrade.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_npa_publishers_bulk_upgrade Resource - terraform-provider-ns" -subcategory: "" -description: |- - NPAPublishersBulkUpgrade Resource ---- - -# ns_npa_publishers_bulk_upgrade (Resource) - -NPAPublishersBulkUpgrade Resource - -## Example Usage - -```terraform -resource "ns_npa_publishers_bulk_upgrade" "my_npapublishersbulkupgrade" { - publishers = { - apply = { - upgrade_request = true - } - id = [ - "...", - ] - } -} -``` - - -## Schema - -### Optional - -- `publishers` (Attributes) (see [below for nested schema](#nestedatt--publishers)) - -### Read-Only - -- `data` (Attributes List) (see [below for nested schema](#nestedatt--data)) -- `status` (String) must be one of ["success", "not found"] - - -### Nested Schema for `publishers` - -Optional: - -- `apply` (Attributes) (see [below for nested schema](#nestedatt--publishers--apply)) -- `id` (List of String) - - -### Nested Schema for `publishers.apply` - -Optional: - -- `upgrade_request` (Boolean) Default: true - - - - -### Nested Schema for `data` - -Read-Only: - -- `assessment` (Attributes) (see [below for nested schema](#nestedatt--data--assessment)) -- `common_name` (String) -- `id` (Number) -- `lbrokerconnect` (Boolean) -- `name` (String) -- `publisher_upgrade_profile_id` (Number) -- `registered` (Boolean) -- `status` (String) must be one of ["connected", "not registered"] -- `stitcher_id` (Number) -- `tags` (Attributes List) (see [below for nested schema](#nestedatt--data--tags)) -- `upgrade_failed_reason` (Attributes) (see [below for nested schema](#nestedatt--data--upgrade_failed_reason)) -- `upgrade_request` (Boolean) -- `upgrade_status` (Attributes) (see [below for nested schema](#nestedatt--data--upgrade_status)) - - -### Nested Schema for `data.assessment` - - - -### Nested Schema for `data.tags` - -Read-Only: - -- `tag_id` (Number) -- `tag_name` (String) - - - -### Nested Schema for `data.upgrade_failed_reason` - - - -### Nested Schema for `data.upgrade_status` - - diff --git a/docs/resources/private_app.md b/docs/resources/private_app.md deleted file mode 100644 index 4afc844..0000000 --- a/docs/resources/private_app.md +++ /dev/null @@ -1,140 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_private_app Resource - terraform-provider-ns" -subcategory: "" -description: |- - PrivateApp Resource ---- - -# ns_private_app (Resource) - -PrivateApp Resource - -## Example Usage - -```terraform -resource "ns_private_app" "my_privateapp" { - app_name = "...my_app_name..." - clientless_access = false - host = "...my_host..." - protocols = [ - { - port = "...my_port..." - type = "...my_type..." - }, - ] - publisher_tags = [ - { - tag_name = "...my_tag_name..." - }, - ] - publishers = [ - { - publisher_id = "...my_publisher_id..." - publisher_name = "...my_publisher_name..." - }, - ] - real_host = "...my_real_host..." - tags = [ - { - tag_id = 8 - tag_name = "...my_tag_name..." - }, - ] - trust_self_signed_certs = false - use_publisher_dns = true -} -``` - - -## Schema - -### Optional - -- `app_name` (String) -- `clientless_access` (Boolean) -- `host` (String) -- `protocols` (Attributes List) (see [below for nested schema](#nestedatt--protocols)) -- `publisher_tags` (Attributes List) (see [below for nested schema](#nestedatt--publisher_tags)) -- `publishers` (Attributes List) (see [below for nested schema](#nestedatt--publishers)) -- `real_host` (String) -- `tags` (Attributes List) (see [below for nested schema](#nestedatt--tags)) -- `trust_self_signed_certs` (Boolean) -- `use_publisher_dns` (Boolean) - -### Read-Only - -- `id` (Number) The ID of this resource. -- `name` (String) -- `resolved_protocols` (Attributes List) (see [below for nested schema](#nestedatt--resolved_protocols)) -- `service_publisher_assignments` (Attributes List) (see [below for nested schema](#nestedatt--service_publisher_assignments)) - - -### Nested Schema for `protocols` - -Optional: - -- `port` (String) -- `type` (String) - - - -### Nested Schema for `publisher_tags` - -Optional: - -- `tag_name` (String) Default: "tag_name" - - - -### Nested Schema for `publishers` - -Optional: - -- `publisher_id` (String) -- `publisher_name` (String) - - - -### Nested Schema for `tags` - -Optional: - -- `tag_name` (String) Default: "tag_name" - -Read-Only: - -- `tag_id` (Number) - - - -### Nested Schema for `resolved_protocols` - -Read-Only: - -- `id` (Number) -- `port` (String) -- `service_id` (Number) -- `transport` (String) - - - -### Nested Schema for `service_publisher_assignments` - -Read-Only: - -- `primary` (Boolean) -- `publisher_id` (Number) -- `reachability` (Attributes) (see [below for nested schema](#nestedatt--service_publisher_assignments--reachability)) -- `service_id` (Number) - - -### Nested Schema for `service_publisher_assignments.reachability` - -Read-Only: - -- `error_code` (Number) -- `error_string` (String) -- `reachable` (Boolean) - - diff --git a/docs/resources/private_app_tag.md b/docs/resources/private_app_tag.md deleted file mode 100644 index 8f61836..0000000 --- a/docs/resources/private_app_tag.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_private_app_tag Resource - terraform-provider-ns" -subcategory: "" -description: |- - PrivateAppTag Resource ---- - -# ns_private_app_tag (Resource) - -PrivateAppTag Resource - -## Example Usage - -```terraform -resource "ns_private_app_tag" "my_privateapptag" { - id = "6254595b-9e34-4d03-9d9e-11ab068c00e0" - ids = [ - "...", - ] - publisher_tags = [ - { - tag_id = 3 - tag_name = "...my_tag_name..." - }, - ] - tags = [ - { - tag_id = 3 - tag_name = "...my_tag_name..." - }, - ] -} -``` - - -## Schema - -### Optional - -- `ids` (List of String) -- `publisher_tags` (Attributes List) (see [below for nested schema](#nestedatt--publisher_tags)) -- `tags` (Attributes List) (see [below for nested schema](#nestedatt--tags)) - -### Read-Only - -- `data` (Attributes List) (see [below for nested schema](#nestedatt--data)) -- `id` (String) The ID of this resource. - - -### Nested Schema for `publisher_tags` - -Optional: - -- `tag_id` (Number) -- `tag_name` (String) - - - -### Nested Schema for `tags` - -Optional: - -- `tag_id` (Number) -- `tag_name` (String) - - - -### Nested Schema for `data` - -Read-Only: - -- `tag_id` (Number) -- `tag_name` (String) - - diff --git a/docs/resources/publisher_token.md b/docs/resources/publisher_token.md deleted file mode 100644 index f086df1..0000000 --- a/docs/resources/publisher_token.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -# generated by https://github.com/hashicorp/terraform-plugin-docs -page_title: "ns_publisher_token Resource - terraform-provider-ns" -subcategory: "" -description: |- - PublisherToken Resource ---- - -# ns_publisher_token (Resource) - -PublisherToken Resource - -## Example Usage - -```terraform -resource "ns_publisher_token" "my_publishertoken" { - publisher_id = 10 -} -``` - - -## Schema - -### Required - -- `publisher_id` (Number) publisher id - -### Read-Only - -- `token` (String) - - diff --git a/examples/data-sources/ns_npa_policy/data-source.tf b/examples/data-sources/ns_npa_policy/data-source.tf deleted file mode 100644 index 99e3397..0000000 --- a/examples/data-sources/ns_npa_policy/data-source.tf +++ /dev/null @@ -1,3 +0,0 @@ -data "ns_npa_policy" "my_npapolicy" { - rule_id = "...my_rule_id..." -} \ No newline at end of file diff --git a/examples/data-sources/ns_npa_policy_group/data-source.tf b/examples/data-sources/ns_npa_policy_group/data-source.tf deleted file mode 100644 index 4283e77..0000000 --- a/examples/data-sources/ns_npa_policy_group/data-source.tf +++ /dev/null @@ -1,3 +0,0 @@ -data "ns_npa_policy_group" "my_npapolicygroup" { - group_id = "...my_group_id..." -} \ No newline at end of file diff --git a/examples/data-sources/ns_npa_publisher_upgrade_profile/data-source.tf b/examples/data-sources/ns_npa_publisher_upgrade_profile/data-source.tf deleted file mode 100644 index 8e544ac..0000000 --- a/examples/data-sources/ns_npa_publisher_upgrade_profile/data-source.tf +++ /dev/null @@ -1,3 +0,0 @@ -data "ns_npa_publisher_upgrade_profile" "my_npapublisherupgradeprofile" { - id = 9 -} \ No newline at end of file diff --git a/examples/data-sources/ns_npa_publisher_upgrade_profile_list/data-source.tf b/examples/data-sources/ns_npa_publisher_upgrade_profile_list/data-source.tf deleted file mode 100644 index 8e25942..0000000 --- a/examples/data-sources/ns_npa_publisher_upgrade_profile_list/data-source.tf +++ /dev/null @@ -1,2 +0,0 @@ -data "ns_npa_publisher_upgrade_profile_list" "my_npapublisherupgradeprofilelist" { -} \ No newline at end of file diff --git a/examples/data-sources/ns_npa_publishers/data-source.tf b/examples/data-sources/ns_npa_publishers/data-source.tf deleted file mode 100644 index 8e62fbb..0000000 --- a/examples/data-sources/ns_npa_publishers/data-source.tf +++ /dev/null @@ -1,3 +0,0 @@ -data "ns_npa_publishers" "my_npapublishers" { - id = 2 -} \ No newline at end of file diff --git a/examples/data-sources/ns_npa_publishers_alerts_configuration/data-source.tf b/examples/data-sources/ns_npa_publishers_alerts_configuration/data-source.tf deleted file mode 100644 index 60b4085..0000000 --- a/examples/data-sources/ns_npa_publishers_alerts_configuration/data-source.tf +++ /dev/null @@ -1,2 +0,0 @@ -data "ns_npa_publishers_alerts_configuration" "my_npapublishersalertsconfiguration" { -} \ No newline at end of file diff --git a/examples/data-sources/ns_npa_publishers_apps_list/data-source.tf b/examples/data-sources/ns_npa_publishers_apps_list/data-source.tf deleted file mode 100644 index e6feab3..0000000 --- a/examples/data-sources/ns_npa_publishers_apps_list/data-source.tf +++ /dev/null @@ -1,3 +0,0 @@ -data "ns_npa_publishers_apps_list" "my_npapublishersappslist" { - publisher_id = 6 -} \ No newline at end of file diff --git a/examples/data-sources/ns_npa_publishers_list/data-source.tf b/examples/data-sources/ns_npa_publishers_list/data-source.tf deleted file mode 100644 index cb1c70c..0000000 --- a/examples/data-sources/ns_npa_publishers_list/data-source.tf +++ /dev/null @@ -1,3 +0,0 @@ -data "ns_npa_publishers_list" "my_npapublisherslist" { - fields = "...my_fields..." -} \ No newline at end of file diff --git a/examples/data-sources/ns_npa_publishers_releases_list/data-source.tf b/examples/data-sources/ns_npa_publishers_releases_list/data-source.tf deleted file mode 100644 index a625b71..0000000 --- a/examples/data-sources/ns_npa_publishers_releases_list/data-source.tf +++ /dev/null @@ -1,3 +0,0 @@ -data "ns_npa_publishers_releases_list" "my_npapublishersreleaseslist" { - fields = "...my_fields..." -} \ No newline at end of file diff --git a/examples/data-sources/ns_policy_group_list/data-source.tf b/examples/data-sources/ns_policy_group_list/data-source.tf deleted file mode 100644 index 39dd3d2..0000000 --- a/examples/data-sources/ns_policy_group_list/data-source.tf +++ /dev/null @@ -1,7 +0,0 @@ -data "ns_policy_group_list" "my_policygrouplist" { - filter = "...my_filter..." - limit = 7 - offset = 8 - sortby = "...my_sortby..." - sortorder = "...my_sortorder..." -} \ No newline at end of file diff --git a/examples/data-sources/ns_private_app_list/data-source.tf b/examples/data-sources/ns_private_app_list/data-source.tf deleted file mode 100644 index a88765a..0000000 --- a/examples/data-sources/ns_private_app_list/data-source.tf +++ /dev/null @@ -1,3 +0,0 @@ -data "ns_private_app_list" "my_privateapplist" { - fields = "...my_fields..." -} \ No newline at end of file diff --git a/examples/data-sources/ns_private_app_tag_list/data-source.tf b/examples/data-sources/ns_private_app_tag_list/data-source.tf deleted file mode 100644 index 7acf035..0000000 --- a/examples/data-sources/ns_private_app_tag_list/data-source.tf +++ /dev/null @@ -1,2 +0,0 @@ -data "ns_private_app_tag_list" "my_privateapptaglist" { -} \ No newline at end of file diff --git a/examples/data-sources/ns_private_app_tag_policy_use_list/data-source.tf b/examples/data-sources/ns_private_app_tag_policy_use_list/data-source.tf deleted file mode 100644 index a0b2bda..0000000 --- a/examples/data-sources/ns_private_app_tag_policy_use_list/data-source.tf +++ /dev/null @@ -1,5 +0,0 @@ -data "ns_private_app_tag_policy_use_list" "my_privateapptagpolicyuselist" { - ids = [ - "...", - ] -} \ No newline at end of file diff --git a/examples/data-sources/terraform_npa_policy/data-source.tf b/examples/data-sources/terraform_npa_policy/data-source.tf new file mode 100644 index 0000000..7b0b8bd --- /dev/null +++ b/examples/data-sources/terraform_npa_policy/data-source.tf @@ -0,0 +1,3 @@ +data "terraform_npa_policy" "my_npapolicy" { + rule_id = "...my_rule_id..." +} \ No newline at end of file diff --git a/examples/data-sources/ns_npa_policy_list/data-source.tf b/examples/data-sources/terraform_npa_policy_list/data-source.tf similarity index 70% rename from examples/data-sources/ns_npa_policy_list/data-source.tf rename to examples/data-sources/terraform_npa_policy_list/data-source.tf index 05673e2..d23afbf 100644 --- a/examples/data-sources/ns_npa_policy_list/data-source.tf +++ b/examples/data-sources/terraform_npa_policy_list/data-source.tf @@ -1,4 +1,4 @@ -data "ns_npa_policy_list" "my_npapolicylist" { +data "terraform_npa_policy_list" "my_npapolicylist" { filter = "...my_filter..." limit = 8 offset = 5 diff --git a/examples/data-sources/terraform_npa_publishers/data-source.tf b/examples/data-sources/terraform_npa_publishers/data-source.tf new file mode 100644 index 0000000..043f5ae --- /dev/null +++ b/examples/data-sources/terraform_npa_publishers/data-source.tf @@ -0,0 +1,3 @@ +data "terraform_npa_publishers" "my_npapublishers" { + id = 2 +} \ No newline at end of file diff --git a/examples/data-sources/terraform_npa_publishers_alerts_configuration/data-source.tf b/examples/data-sources/terraform_npa_publishers_alerts_configuration/data-source.tf new file mode 100644 index 0000000..105435f --- /dev/null +++ b/examples/data-sources/terraform_npa_publishers_alerts_configuration/data-source.tf @@ -0,0 +1,2 @@ +data "terraform_npa_publishers_alerts_configuration" "my_npapublishersalertsconfiguration" { +} \ No newline at end of file diff --git a/examples/data-sources/terraform_npa_publishers_apps_list/data-source.tf b/examples/data-sources/terraform_npa_publishers_apps_list/data-source.tf new file mode 100644 index 0000000..747408c --- /dev/null +++ b/examples/data-sources/terraform_npa_publishers_apps_list/data-source.tf @@ -0,0 +1,3 @@ +data "terraform_npa_publishers_apps_list" "my_npapublishersappslist" { + publisher_id = 4 +} \ No newline at end of file diff --git a/examples/data-sources/terraform_npa_publishers_list/data-source.tf b/examples/data-sources/terraform_npa_publishers_list/data-source.tf new file mode 100644 index 0000000..b87ef3a --- /dev/null +++ b/examples/data-sources/terraform_npa_publishers_list/data-source.tf @@ -0,0 +1,3 @@ +data "terraform_npa_publishers_list" "my_npapublisherslist" { + fields = "...my_fields..." +} \ No newline at end of file diff --git a/examples/data-sources/terraform_npa_publishers_releases_list/data-source.tf b/examples/data-sources/terraform_npa_publishers_releases_list/data-source.tf new file mode 100644 index 0000000..6514b18 --- /dev/null +++ b/examples/data-sources/terraform_npa_publishers_releases_list/data-source.tf @@ -0,0 +1,3 @@ +data "terraform_npa_publishers_releases_list" "my_npapublishersreleaseslist" { + fields = "...my_fields..." +} \ No newline at end of file diff --git a/examples/provider/provider.tf b/examples/provider/provider.tf index c0157d7..ddcb0e5 100644 --- a/examples/provider/provider.tf +++ b/examples/provider/provider.tf @@ -1,12 +1,12 @@ terraform { required_providers { - ns = { - source = "netskope/ns" - version = "0.0.1" + terraform = { + source = "speakeasy/terraform" + version = "0.0.2" } } } -provider "ns" { +provider "terraform" { # Configuration options } \ No newline at end of file diff --git a/examples/resources/ns_npa_policy/resource.tf b/examples/resources/ns_npa_policy/resource.tf deleted file mode 100644 index 324c5ea..0000000 --- a/examples/resources/ns_npa_policy/resource.tf +++ /dev/null @@ -1,77 +0,0 @@ -resource "ns_npa_policy" "my_npapolicy" { - description = "any" - enabled = "1" - group_name = "My policy group" - rule_data = { - access_method = [ - ["Client", "Clientless"], - ] - b_negate_net_location = true - b_negate_src_countries = true - classification = "...my_classification..." - dlp_actions = [ - { - actions = [ - "allow", - ] - dlp_profile = "Payment Card" - }, - ] - external_dlp = false - json_version = 3 - match_criteria_action = { - action_name = "block" - } - net_location_obj = [ - "...", - ] - organization_units = [ - "...", - ] - policy_type = "private-app" - private_app_ids = [ - "...", - ] - private_apps = [ - "...", - ] - private_apps_with_activities = [ - { - activities = [ - { - activity = "any" - list_of_constraints = [ - "...", - ] - }, - ] - app_name = "[172.31.12.135]" - }, - ] - private_app_tag_ids = [ - "...", - ] - private_app_tags = [ - "...", - ] - show_dlp_profile_action_table = false - src_countries = [ - "...", - ] - user_groups = [ - "...", - ] - users = [ - "...", - ] - user_type = "user" - version = 1 - } - rule_name = "van-test" - rule_order = { - order = "before" - position = 5 - rule_id = "1" - rule_name = "api-policy-managed" - } -} \ No newline at end of file diff --git a/examples/resources/ns_npa_policy_group/resource.tf b/examples/resources/ns_npa_policy_group/resource.tf deleted file mode 100644 index 04fe98f..0000000 --- a/examples/resources/ns_npa_policy_group/resource.tf +++ /dev/null @@ -1,7 +0,0 @@ -resource "ns_npa_policy_group" "my_npapolicygroup" { - group_name = "...my_group_name..." - group_order = { - group_id = "1" - order = "after" - } -} \ No newline at end of file diff --git a/examples/resources/ns_npa_publisher_upgrade_profile/resource.tf b/examples/resources/ns_npa_publisher_upgrade_profile/resource.tf deleted file mode 100644 index 9b9e532..0000000 --- a/examples/resources/ns_npa_publisher_upgrade_profile/resource.tf +++ /dev/null @@ -1,9 +0,0 @@ -resource "ns_npa_publisher_upgrade_profile" "my_npapublisherupgradeprofile" { - docker_tag = "...my_docker_tag..." - enabled = true - frequency = "...my_frequency..." - name = "Jerald Graham MD" - release_type = "...my_release_type..." - required = "{ \"see\": \"documentation\" }" - timezone = "...my_timezone..." -} \ No newline at end of file diff --git a/examples/resources/ns_npa_publishers/resource.tf b/examples/resources/ns_npa_publishers/resource.tf deleted file mode 100644 index ec36a82..0000000 --- a/examples/resources/ns_npa_publishers/resource.tf +++ /dev/null @@ -1,11 +0,0 @@ -resource "ns_npa_publishers" "my_npapublishers" { - lbrokerconnect = false - name = "Sherri Mohr" - publisher_upgrade_profiles_id = 1 - tags = [ - { - tag_id = 3 - tag_name = "...my_tag_name..." - }, - ] -} \ No newline at end of file diff --git a/examples/resources/ns_npa_publishers_alerts_configuration/resource.tf b/examples/resources/ns_npa_publishers_alerts_configuration/resource.tf deleted file mode 100644 index cd19f9a..0000000 --- a/examples/resources/ns_npa_publishers_alerts_configuration/resource.tf +++ /dev/null @@ -1,9 +0,0 @@ -resource "ns_npa_publishers_alerts_configuration" "my_npapublishersalertsconfiguration" { - admin_users = [ - ["admin1@abc.com", "admin2@abc.com"], - ] - event_types = [ - "UPGRADE_FAILED", - ] - selected_users = "abc@xyz.com,def@xyz.com" -} \ No newline at end of file diff --git a/examples/resources/ns_npa_publishers_bulk_upgrade/resource.tf b/examples/resources/ns_npa_publishers_bulk_upgrade/resource.tf deleted file mode 100644 index 709fdaf..0000000 --- a/examples/resources/ns_npa_publishers_bulk_upgrade/resource.tf +++ /dev/null @@ -1,10 +0,0 @@ -resource "ns_npa_publishers_bulk_upgrade" "my_npapublishersbulkupgrade" { - publishers = { - apply = { - upgrade_request = true - } - id = [ - "...", - ] - } -} \ No newline at end of file diff --git a/examples/resources/ns_private_app/resource.tf b/examples/resources/ns_private_app/resource.tf deleted file mode 100644 index 39d9eec..0000000 --- a/examples/resources/ns_private_app/resource.tf +++ /dev/null @@ -1,31 +0,0 @@ -resource "ns_private_app" "my_privateapp" { - app_name = "...my_app_name..." - clientless_access = false - host = "...my_host..." - protocols = [ - { - port = "...my_port..." - type = "...my_type..." - }, - ] - publisher_tags = [ - { - tag_name = "...my_tag_name..." - }, - ] - publishers = [ - { - publisher_id = "...my_publisher_id..." - publisher_name = "...my_publisher_name..." - }, - ] - real_host = "...my_real_host..." - tags = [ - { - tag_id = 8 - tag_name = "...my_tag_name..." - }, - ] - trust_self_signed_certs = false - use_publisher_dns = true -} \ No newline at end of file diff --git a/examples/resources/ns_private_app_tag/resource.tf b/examples/resources/ns_private_app_tag/resource.tf deleted file mode 100644 index ab5a439..0000000 --- a/examples/resources/ns_private_app_tag/resource.tf +++ /dev/null @@ -1,18 +0,0 @@ -resource "ns_private_app_tag" "my_privateapptag" { - id = "6254595b-9e34-4d03-9d9e-11ab068c00e0" - ids = [ - "...", - ] - publisher_tags = [ - { - tag_id = 3 - tag_name = "...my_tag_name..." - }, - ] - tags = [ - { - tag_id = 3 - tag_name = "...my_tag_name..." - }, - ] -} \ No newline at end of file diff --git a/examples/resources/ns_publisher_token/resource.tf b/examples/resources/ns_publisher_token/resource.tf deleted file mode 100644 index da3518f..0000000 --- a/examples/resources/ns_publisher_token/resource.tf +++ /dev/null @@ -1,3 +0,0 @@ -resource "ns_publisher_token" "my_publishertoken" { - publisher_id = 10 -} \ No newline at end of file diff --git a/examples/resources/terraform_npa_policy/resource.tf b/examples/resources/terraform_npa_policy/resource.tf new file mode 100644 index 0000000..b18f418 --- /dev/null +++ b/examples/resources/terraform_npa_policy/resource.tf @@ -0,0 +1,12 @@ +resource "terraform_npa_policy" "my_npapolicy" { + description = "any" + enabled = "1" + group_name = "My policy group" + rule_name = "vantest" + rule_order = { + order = "after" + position = 5 + rule_id = "1" + rule_name = "api-policy-managed" + } +} \ No newline at end of file diff --git a/examples/resources/terraform_npa_publishers/resource.tf b/examples/resources/terraform_npa_publishers/resource.tf new file mode 100644 index 0000000..16b4173 --- /dev/null +++ b/examples/resources/terraform_npa_publishers/resource.tf @@ -0,0 +1,5 @@ +resource "terraform_npa_publishers" "my_npapublishers" { + lbrokerconnect = false + name = "Miss Paula Bergnaum" + publisher_upgrade_profiles_id = 5 +} \ No newline at end of file diff --git a/examples/resources/terraform_npa_publishers_alerts_configuration/resource.tf b/examples/resources/terraform_npa_publishers_alerts_configuration/resource.tf new file mode 100644 index 0000000..af9b6e6 --- /dev/null +++ b/examples/resources/terraform_npa_publishers_alerts_configuration/resource.tf @@ -0,0 +1,3 @@ +resource "terraform_npa_publishers_alerts_configuration" "my_npapublishersalertsconfiguration" { + selected_users = "abc@xyz.com,def@xyz.com" +} \ No newline at end of file diff --git a/examples/resources/terraform_npa_publishers_bulk_upgrade/resource.tf b/examples/resources/terraform_npa_publishers_bulk_upgrade/resource.tf new file mode 100644 index 0000000..686b304 --- /dev/null +++ b/examples/resources/terraform_npa_publishers_bulk_upgrade/resource.tf @@ -0,0 +1,10 @@ +resource "terraform_npa_publishers_bulk_upgrade" "my_npapublishersbulkupgrade" { + publishers = { + apply = { + upgrade_request = false + } + id = [ + "...", + ] + } +} \ No newline at end of file diff --git a/examples/resources/terraform_publisher_token/resource.tf b/examples/resources/terraform_publisher_token/resource.tf new file mode 100644 index 0000000..e0b46ed --- /dev/null +++ b/examples/resources/terraform_publisher_token/resource.tf @@ -0,0 +1,3 @@ +resource "terraform_publisher_token" "my_publishertoken" { + publisher_id = 6 +} \ No newline at end of file diff --git a/examples/speakeasy-test/example.tf b/examples/speakeasy-test/example.tf deleted file mode 100644 index 07932cb..0000000 --- a/examples/speakeasy-test/example.tf +++ /dev/null @@ -1,37 +0,0 @@ -terraform { - required_providers { - ns = { - source = "netskope/ns" - version = "0.0.1" - } - } -} - -variable "api_key" {} -variable "server_url" {} - -provider "ns" { - api_key = var.api_key - server_url = var.server_url -} - -# Note: error: You cannot consume this service. Testing to be done with higher access creds -#data "ns_npa_publisher_alerts" "alerts" {} - -resource "ns_publisher_token" "my_publishertoken" { - publisher_id = ns_npa_publisher.my_npapublisher.id -} - -resource "ns_npa_publisher" "my_npapublisher" { - name = "Speakeasy Terraform Provider Test" -} - -# Note: got a 503 one time? Does this need a retry? -data "ns_npa_publishers" "npa_publishers" { - depends_on = [ns_npa_publisher.my_npapublisher] -} - - -output "npa_publisher_token" { - value = ns_publisher_token.my_publishertoken.token -} diff --git a/files.gen b/files.gen deleted file mode 100644 index 035737d..0000000 --- a/files.gen +++ /dev/null @@ -1,306 +0,0 @@ -internal/sdk/npapublishers.go -internal/sdk/npapublishersreleases.go -internal/sdk/npapublishersapps.go -internal/sdk/publishertoken.go -internal/sdk/npapublisherupgradeprofiles.go -internal/sdk/sdk.go -examples/README.md -go.mod -go.sum -internal/planmodifiers/boolplanmodifier/suppress_diff.go -internal/planmodifiers/float64planmodifier/suppress_diff.go -internal/planmodifiers/int64planmodifier/suppress_diff.go -internal/planmodifiers/listplanmodifier/suppress_diff.go -internal/planmodifiers/mapplanmodifier/suppress_diff.go -internal/planmodifiers/numberplanmodifier/suppress_diff.go -internal/planmodifiers/objectplanmodifier/suppress_diff.go -internal/planmodifiers/setplanmodifier/suppress_diff.go -internal/planmodifiers/stringplanmodifier/suppress_diff.go -internal/planmodifiers/utils/state_check.go -internal/provider/reflect/diags.go -internal/provider/reflect/doc.go -internal/provider/reflect/generic_attr_value.go -internal/provider/reflect/helpers.go -internal/provider/reflect/interfaces.go -internal/provider/reflect/into.go -internal/provider/reflect/map.go -internal/provider/reflect/number.go -internal/provider/reflect/options.go -internal/provider/reflect/outof.go -internal/provider/reflect/pointer.go -internal/provider/reflect/primitive.go -internal/provider/reflect/slice.go -internal/provider/reflect/struct.go -internal/provider/utils.go -internal/sdk/pkg/models/sdkerrors/sdkerror.go -internal/sdk/pkg/types/bigint.go -internal/sdk/pkg/types/date.go -internal/sdk/pkg/types/datetime.go -internal/sdk/pkg/types/decimal.go -internal/sdk/pkg/types/pointers.go -internal/sdk/pkg/utils/contenttype.go -internal/sdk/pkg/utils/form.go -internal/sdk/pkg/utils/headers.go -internal/sdk/pkg/utils/json.go -internal/sdk/pkg/utils/pathparams.go -internal/sdk/pkg/utils/queryparams.go -internal/sdk/pkg/utils/requestbody.go -internal/sdk/pkg/utils/retries.go -internal/sdk/pkg/utils/security.go -internal/sdk/pkg/utils/utils.go -internal/validators/DateValidator.go -internal/validators/ExactlyOneChild.go -internal/validators/JSONParseValidator.go -internal/validators/RFC3339Validator.go -main.go -terraform-registry-manifest.json -tools/tools.go -internal/sdk/pkg/models/operations/deletepolicynpapolicygroupsid.go -internal/sdk/pkg/models/operations/deletepolicynparulesid.go -internal/sdk/pkg/models/operations/deletesteeringappsprivatetags.go -internal/sdk/pkg/models/operations/deletesteeringappsprivatetagstagid.go -internal/sdk/pkg/models/operations/deletesteeringappsprivateprivateappid.go -internal/sdk/pkg/models/operations/deletesteeringgretunnelsid.go -internal/sdk/pkg/models/operations/deletesteeringipsectunnelsid.go -internal/sdk/pkg/models/operations/getinfrastructurepublishersalertsconfiguration.go -internal/sdk/pkg/models/operations/getpolicynpapolicygroups.go -internal/sdk/pkg/models/operations/getpolicynpapolicygroupsid.go -internal/sdk/pkg/models/operations/getpolicynparules.go -internal/sdk/pkg/models/operations/getpolicynparulesid.go -internal/sdk/pkg/models/operations/getsteeringappsprivate.go -internal/sdk/pkg/models/operations/getsteeringappsprivatetags.go -internal/sdk/pkg/models/operations/getsteeringappsprivatetagstagid.go -internal/sdk/pkg/models/operations/getsteeringappsprivateprivateappid.go -internal/sdk/pkg/models/operations/getsteeringgrepops.go -internal/sdk/pkg/models/operations/getsteeringgrepopsid.go -internal/sdk/pkg/models/operations/getsteeringgretunnels.go -internal/sdk/pkg/models/operations/getsteeringgretunnelsid.go -internal/sdk/pkg/models/operations/getsteeringipsecpops.go -internal/sdk/pkg/models/operations/getsteeringipsecpopsid.go -internal/sdk/pkg/models/operations/getsteeringipsectunnels.go -internal/sdk/pkg/models/operations/getsteeringipsectunnelsid.go -internal/sdk/pkg/models/operations/patchinfrastructurepublisherspublisherid.go -internal/sdk/pkg/models/operations/patchpolicynpapolicygroupsid.go -internal/sdk/pkg/models/operations/patchpolicynparulesid.go -internal/sdk/pkg/models/operations/patchsteeringappsprivatetags.go -internal/sdk/pkg/models/operations/patchsteeringappsprivateprivateappid.go -internal/sdk/pkg/models/operations/patchsteeringgretunnelsid.go -internal/sdk/pkg/models/operations/patchsteeringipsectunnelsid.go -internal/sdk/pkg/models/operations/postpolicynpapolicygroups.go -internal/sdk/pkg/models/operations/postpolicynparules.go -internal/sdk/pkg/models/operations/poststeeringappsprivate.go -internal/sdk/pkg/models/operations/poststeeringappsprivategetpolicyinuse.go -internal/sdk/pkg/models/operations/poststeeringappsprivatetags.go -internal/sdk/pkg/models/operations/poststeeringappsprivatetagsgetpolicyinuse.go -internal/sdk/pkg/models/operations/poststeeringgretunnels.go -internal/sdk/pkg/models/operations/poststeeringipsectunnels.go -internal/sdk/pkg/models/operations/putinfrastructurepublishersalertsconfiguration.go -internal/sdk/pkg/models/operations/putinfrastructurepublishersbulk.go -internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesbulk.go -internal/sdk/pkg/models/operations/putsteeringappsprivatetagstagid.go -internal/sdk/pkg/models/operations/putsteeringappsprivateprivateappid.go -internal/sdk/pkg/models/operations/postinfrastructurepublishers.go -internal/sdk/pkg/models/operations/deleteinfrastructurepublisherspublisherid.go -internal/sdk/pkg/models/operations/getinfrastructurepublishers.go -internal/sdk/pkg/models/operations/getinfrastructurepublisherspublisherid.go -internal/sdk/pkg/models/operations/putinfrastructurepublisherspublisherid.go -internal/sdk/pkg/models/operations/getinfrastructurepublishersreleases.go -internal/sdk/pkg/models/operations/getinfrastructurepublisherspublisheridapps.go -internal/sdk/pkg/models/operations/postinfrastructurepublisherspublisheridregistrationtoken.go -internal/sdk/pkg/models/operations/postinfrastructurepublisherupgradeprofiles.go -internal/sdk/pkg/models/operations/deleteinfrastructurepublisherupgradeprofilesupgradeprofileid.go -internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofiles.go -internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofilesupgradeprofileid.go -internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesupgradeprofileid.go -internal/sdk/pkg/models/shared/fourhundred.go -internal/sdk/pkg/models/shared/npapolicygroupresponse400.go -internal/sdk/pkg/models/shared/npapolicyresponseitem.go -internal/sdk/pkg/models/shared/npapolicyruledata.go -internal/sdk/pkg/models/shared/npapolicyruledlp.go -internal/sdk/pkg/models/shared/npapolicyresponse400.go -internal/sdk/pkg/models/shared/tagresponse400.go -internal/sdk/pkg/models/shared/tagresponse.go -internal/sdk/pkg/models/shared/tagrequest.go -internal/sdk/pkg/models/shared/tagitem.go -internal/sdk/pkg/models/shared/privateappsresponse400.go -internal/sdk/pkg/models/shared/greresponse500.go -internal/sdk/pkg/models/shared/greresponse429.go -internal/sdk/pkg/models/shared/greresponse405.go -internal/sdk/pkg/models/shared/greresponse404.go -internal/sdk/pkg/models/shared/greresponse403.go -internal/sdk/pkg/models/shared/greresponse200.go -internal/sdk/pkg/models/shared/ipsecresponse500.go -internal/sdk/pkg/models/shared/ipsecresponse429.go -internal/sdk/pkg/models/shared/ipsecresponse405.go -internal/sdk/pkg/models/shared/ipsecresponse404.go -internal/sdk/pkg/models/shared/ipsecresponse403.go -internal/sdk/pkg/models/shared/ipsecresponse200.go -internal/sdk/pkg/models/shared/publishersresponse400.go -internal/sdk/pkg/models/shared/publishersalertgetresponse.go -internal/sdk/pkg/models/shared/npapolicygroupresponse.go -internal/sdk/pkg/models/shared/npapolicygroupresponseitem.go -internal/sdk/pkg/models/shared/npapolicylistresponse.go -internal/sdk/pkg/models/shared/privateappsgetresponse.go -internal/sdk/pkg/models/shared/privateappsresponse.go -internal/sdk/pkg/models/shared/servicepublisherassignmentitem.go -internal/sdk/pkg/models/shared/protocolresponseitem.go -internal/sdk/pkg/models/shared/greresponse400.go -internal/sdk/pkg/models/shared/grepopresponse200.go -internal/sdk/pkg/models/shared/grepopresultitem.go -internal/sdk/pkg/models/shared/gretunnelresponse200.go -internal/sdk/pkg/models/shared/gretunnelresultitem.go -internal/sdk/pkg/models/shared/gretunnelpopresultitem.go -internal/sdk/pkg/models/shared/ipsecresponse400.go -internal/sdk/pkg/models/shared/ipsecpopresponse200.go -internal/sdk/pkg/models/shared/ipsecpopresultitem.go -internal/sdk/pkg/models/shared/ipsectunnelresponse200.go -internal/sdk/pkg/models/shared/ipsectunnelresultitem.go -internal/sdk/pkg/models/shared/ipsectunnelpopresultitem.go -internal/sdk/pkg/models/shared/publisherresponse.go -internal/sdk/pkg/models/shared/publisherputrequest.go -internal/sdk/pkg/models/shared/npapolicygrouprequest.go -internal/sdk/pkg/models/shared/npapolicyrequest.go -internal/sdk/pkg/models/shared/privateappsputrequest.go -internal/sdk/pkg/models/shared/tagitemnoid.go -internal/sdk/pkg/models/shared/publisheritem.go -internal/sdk/pkg/models/shared/protocolitem.go -internal/sdk/pkg/models/shared/grepatchresponse200.go -internal/sdk/pkg/models/shared/gretunnelrequestpatch.go -internal/sdk/pkg/models/shared/ipsecpatchresponse200.go -internal/sdk/pkg/models/shared/ipsectunnelrequestpatch.go -internal/sdk/pkg/models/shared/privateappsrequest.go -internal/sdk/pkg/models/shared/greresponse409.go -internal/sdk/pkg/models/shared/greresponse201.go -internal/sdk/pkg/models/shared/gretunnelrequestpost.go -internal/sdk/pkg/models/shared/ipsecresponse409.go -internal/sdk/pkg/models/shared/ipsecresponse201.go -internal/sdk/pkg/models/shared/ipsectunnelrequestpost.go -internal/sdk/pkg/models/shared/publishersalertputrequest.go -internal/sdk/pkg/models/shared/publishersbulkresponse.go -internal/sdk/pkg/models/shared/publisherbulkitem.go -internal/sdk/pkg/models/shared/publisherbulkrequest.go -internal/sdk/pkg/models/shared/publisherupgradeprofilebulkresponse.go -internal/sdk/pkg/models/shared/upgradepublisherresponse.go -internal/sdk/pkg/models/shared/publisherupgradeprofilebulkrequest.go -internal/sdk/pkg/models/shared/publisherpostrequest.go -internal/sdk/pkg/models/shared/publishersgetresponse.go -internal/sdk/pkg/models/shared/data.go -internal/sdk/pkg/models/shared/publisher.go -internal/sdk/pkg/models/shared/upgradestatus.go -internal/sdk/pkg/models/shared/upgradefailedreason.go -internal/sdk/pkg/models/shared/assessment.go -internal/sdk/pkg/models/shared/publishersreleasegetresponse.go -internal/sdk/pkg/models/shared/releaseitem.go -internal/sdk/pkg/models/shared/publisherappslistresponse.go -internal/sdk/pkg/models/shared/publisherupgradeprofileresponse.go -internal/sdk/pkg/models/shared/publisherupgradeprofilepostrequest.go -internal/sdk/pkg/models/shared/publisherupgradeprofilegetresponse.go -internal/sdk/pkg/models/shared/publisherupgradeprofileputrequest.go -internal/sdk/pkg/models/shared/security.go -internal/provider/type_npa_policy_rule_dlp.go -internal/provider/type_match_criteria_action.go -internal/provider/type_activities.go -internal/provider/type_private_apps_with_activities.go -internal/provider/type_npa_policy_rule_data.go -internal/provider/type_rule_order.go -internal/provider/type_group_order.go -internal/provider/type_tag_item.go -internal/provider/type_publisher_bulk_item_assessment.go -internal/provider/type_publisher_bulk_item.go -internal/provider/type_apply.go -internal/provider/type_publishers.go -internal/provider/type_protocol_item.go -internal/provider/type_tag_item_no_id.go -internal/provider/type_publisher_item.go -internal/provider/type_protocol_response_item.go -internal/provider/type_reachability.go -internal/provider/type_service_publisher_assignment_item.go -internal/provider/type_npa_policy_response_item.go -internal/provider/type_publisher_apps_list_response_data.go -internal/provider/type_assessment.go -internal/provider/type_publisher_assessment.go -internal/provider/type_stitcher_id.go -internal/provider/type_upgrade_failed_reason.go -internal/provider/type_publisher_upgrade_failed_reason.go -internal/provider/type_upgrade_status.go -internal/provider/type_publisher.go -internal/provider/type_data.go -internal/provider/type_release_item.go -internal/provider/type_upgrade_profiles.go -internal/provider/type_publisher_upgrade_profile_get_response_data.go -internal/provider/type_npa_policygroup_response_item.go -internal/provider/type_private_apps_get_response_data.go -internal/provider/type_post_steering_apps_private_tags_getpolicyinuse_data.go -USAGE.md -internal/provider/provider.go -examples/provider/provider.tf -internal/provider/npapolicy_resource.go -internal/provider/npapolicy_resource_sdk.go -examples/resources/ns_npa_policy/resource.tf -internal/provider/npapolicygroup_resource.go -internal/provider/npapolicygroup_resource_sdk.go -examples/resources/ns_npa_policy_group/resource.tf -internal/provider/npapublishers_resource.go -internal/provider/npapublishers_resource_sdk.go -examples/resources/ns_npa_publishers/resource.tf -internal/provider/npapublishersalertsconfiguration_resource.go -internal/provider/npapublishersalertsconfiguration_resource_sdk.go -examples/resources/ns_npa_publishers_alerts_configuration/resource.tf -internal/provider/npapublishersbulkupgrade_resource.go -internal/provider/npapublishersbulkupgrade_resource_sdk.go -examples/resources/ns_npa_publishers_bulk_upgrade/resource.tf -internal/provider/npapublisherupgradeprofile_resource.go -internal/provider/npapublisherupgradeprofile_resource_sdk.go -examples/resources/ns_npa_publisher_upgrade_profile/resource.tf -internal/provider/privateapp_resource.go -internal/provider/privateapp_resource_sdk.go -examples/resources/ns_private_app/resource.tf -internal/provider/privateapptag_resource.go -internal/provider/privateapptag_resource_sdk.go -examples/resources/ns_private_app_tag/resource.tf -internal/provider/publishertoken_resource.go -internal/provider/publishertoken_resource_sdk.go -examples/resources/ns_publisher_token/resource.tf -internal/provider/npapolicy_data_source.go -internal/provider/npapolicy_data_source_sdk.go -examples/data-sources/ns_npa_policy/data-source.tf -internal/provider/npapolicygroup_data_source.go -internal/provider/npapolicygroup_data_source_sdk.go -examples/data-sources/ns_npa_policy_group/data-source.tf -internal/provider/npapolicylist_data_source.go -internal/provider/npapolicylist_data_source_sdk.go -examples/data-sources/ns_npa_policy_list/data-source.tf -internal/provider/npapublishers_data_source.go -internal/provider/npapublishers_data_source_sdk.go -examples/data-sources/ns_npa_publishers/data-source.tf -internal/provider/npapublishersalertsconfiguration_data_source.go -internal/provider/npapublishersalertsconfiguration_data_source_sdk.go -examples/data-sources/ns_npa_publishers_alerts_configuration/data-source.tf -internal/provider/npapublishersappslist_data_source.go -internal/provider/npapublishersappslist_data_source_sdk.go -examples/data-sources/ns_npa_publishers_apps_list/data-source.tf -internal/provider/npapublisherslist_data_source.go -internal/provider/npapublisherslist_data_source_sdk.go -examples/data-sources/ns_npa_publishers_list/data-source.tf -internal/provider/npapublishersreleaseslist_data_source.go -internal/provider/npapublishersreleaseslist_data_source_sdk.go -examples/data-sources/ns_npa_publishers_releases_list/data-source.tf -internal/provider/npapublisherupgradeprofile_data_source.go -internal/provider/npapublisherupgradeprofile_data_source_sdk.go -examples/data-sources/ns_npa_publisher_upgrade_profile/data-source.tf -internal/provider/npapublisherupgradeprofilelist_data_source.go -internal/provider/npapublisherupgradeprofilelist_data_source_sdk.go -examples/data-sources/ns_npa_publisher_upgrade_profile_list/data-source.tf -internal/provider/policygrouplist_data_source.go -internal/provider/policygrouplist_data_source_sdk.go -examples/data-sources/ns_policy_group_list/data-source.tf -internal/provider/privateapplist_data_source.go -internal/provider/privateapplist_data_source_sdk.go -examples/data-sources/ns_private_app_list/data-source.tf -internal/provider/privateapptaglist_data_source.go -internal/provider/privateapptaglist_data_source_sdk.go -examples/data-sources/ns_private_app_tag_list/data-source.tf -internal/provider/privateapptagpolicyuselist_data_source.go -internal/provider/privateapptagpolicyuselist_data_source_sdk.go -examples/data-sources/ns_private_app_tag_policy_use_list/data-source.tf -.gitattributes \ No newline at end of file diff --git a/gen.yaml b/gen.yaml deleted file mode 100755 index 80b41a4..0000000 --- a/gen.yaml +++ /dev/null @@ -1,31 +0,0 @@ -configVersion: 1.0.0 -generation: - comments: {} - sdkClassName: SDK - usageSnippets: - optionalPropertyRendering: withExample -features: - terraform: - constsAndDefaults: 0.1.1 - core: 3.5.0 - globalSecurity: 2.81.1 - globalServerURLs: 2.82.1 - groups: 2.81.2 - ignores: 2.81.1 - nameOverrides: 2.81.1 - typeOverrides: 2.81.1 - unions: 2.81.5 -terraform: - version: 0.0.1 - author: netskope - imports: - option: openapi - paths: - callbacks: callbacks - errors: sdkerrors - operations: operations - shared: shared - webhooks: webhooks - inputModelSuffix: input - outputModelSuffix: output - packageName: ns diff --git a/go.mod b/go.mod index 7f84c7b..638f46f 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ -module github.com/netskope/terraform-provider-ns +module github.com/speakeasy/terraform-provider-terraform -go 1.18 +go 1.20 require ( github.com/cenkalti/backoff/v4 v4.2.0 diff --git a/internal/planmodifiers/boolplanmodifier/suppress_diff.go b/internal/planmodifiers/boolplanmodifier/suppress_diff.go index cf3cd5d..db4345e 100644 --- a/internal/planmodifiers/boolplanmodifier/suppress_diff.go +++ b/internal/planmodifiers/boolplanmodifier/suppress_diff.go @@ -4,18 +4,27 @@ package boolplanmodifier import ( "context" - "github.com/netskope/terraform-provider-ns/internal/planmodifiers/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/planmodifiers/utils" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" ) +const ( + // ExplicitSuppress strategy suppresses "(known after changes)" messages unless we're in the initial creation + ExplicitSuppress = iota +) + // SuppressDiff returns a plan modifier that propagates a state value into the planned value, when it is Known, and the Plan Value is Unknown -func SuppressDiff() planmodifier.Bool { - return suppressDiff{} +func SuppressDiff(strategy int) planmodifier.Bool { + return suppressDiff{ + strategy: strategy, + } } // suppressDiff implements the plan modifier. -type suppressDiff struct{} +type suppressDiff struct { + strategy int +} // Description returns a human-readable description of the plan modifier. func (m suppressDiff) Description(_ context.Context) string { diff --git a/internal/planmodifiers/float64planmodifier/suppress_diff.go b/internal/planmodifiers/float64planmodifier/suppress_diff.go index feb06eb..93c6688 100644 --- a/internal/planmodifiers/float64planmodifier/suppress_diff.go +++ b/internal/planmodifiers/float64planmodifier/suppress_diff.go @@ -4,18 +4,27 @@ package float64planmodifier import ( "context" - "github.com/netskope/terraform-provider-ns/internal/planmodifiers/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/planmodifiers/utils" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" ) +const ( + // ExplicitSuppress strategy suppresses "(known after changes)" messages unless we're in the initial creation + ExplicitSuppress = iota +) + // SuppressDiff returns a plan modifier that propagates a state value into the planned value, when it is Known, and the Plan Value is Unknown -func SuppressDiff() planmodifier.Float64 { - return suppressDiff{} +func SuppressDiff(strategy int) planmodifier.Float64 { + return suppressDiff{ + strategy: strategy, + } } // suppressDiff implements the plan modifier. -type suppressDiff struct{} +type suppressDiff struct { + strategy int +} // Description returns a human-readable description of the plan modifier. func (m suppressDiff) Description(_ context.Context) string { diff --git a/internal/planmodifiers/int64planmodifier/suppress_diff.go b/internal/planmodifiers/int64planmodifier/suppress_diff.go index 5d0e8c1..55f402d 100644 --- a/internal/planmodifiers/int64planmodifier/suppress_diff.go +++ b/internal/planmodifiers/int64planmodifier/suppress_diff.go @@ -4,18 +4,27 @@ package int64planmodifier import ( "context" - "github.com/netskope/terraform-provider-ns/internal/planmodifiers/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/planmodifiers/utils" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" ) +const ( + // ExplicitSuppress strategy suppresses "(known after changes)" messages unless we're in the initial creation + ExplicitSuppress = iota +) + // SuppressDiff returns a plan modifier that propagates a state value into the planned value, when it is Known, and the Plan Value is Unknown -func SuppressDiff() planmodifier.Int64 { - return suppressDiff{} +func SuppressDiff(strategy int) planmodifier.Int64 { + return suppressDiff{ + strategy: strategy, + } } // suppressDiff implements the plan modifier. -type suppressDiff struct{} +type suppressDiff struct { + strategy int +} // Description returns a human-readable description of the plan modifier. func (m suppressDiff) Description(_ context.Context) string { diff --git a/internal/planmodifiers/listplanmodifier/suppress_diff.go b/internal/planmodifiers/listplanmodifier/suppress_diff.go index 6cb4cd2..fda84a2 100644 --- a/internal/planmodifiers/listplanmodifier/suppress_diff.go +++ b/internal/planmodifiers/listplanmodifier/suppress_diff.go @@ -4,18 +4,27 @@ package listplanmodifier import ( "context" - "github.com/netskope/terraform-provider-ns/internal/planmodifiers/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/planmodifiers/utils" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" ) +const ( + // ExplicitSuppress strategy suppresses "(known after changes)" messages unless we're in the initial creation + ExplicitSuppress = iota +) + // SuppressDiff returns a plan modifier that propagates a state value into the planned value, when it is Known, and the Plan Value is Unknown -func SuppressDiff() planmodifier.List { - return suppressDiff{} +func SuppressDiff(strategy int) planmodifier.List { + return suppressDiff{ + strategy: strategy, + } } // suppressDiff implements the plan modifier. -type suppressDiff struct{} +type suppressDiff struct { + strategy int +} // Description returns a human-readable description of the plan modifier. func (m suppressDiff) Description(_ context.Context) string { diff --git a/internal/planmodifiers/mapplanmodifier/suppress_diff.go b/internal/planmodifiers/mapplanmodifier/suppress_diff.go index cc4507c..76ad96f 100644 --- a/internal/planmodifiers/mapplanmodifier/suppress_diff.go +++ b/internal/planmodifiers/mapplanmodifier/suppress_diff.go @@ -4,18 +4,27 @@ package mapplanmodifier import ( "context" - "github.com/netskope/terraform-provider-ns/internal/planmodifiers/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/planmodifiers/utils" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" ) +const ( + // ExplicitSuppress strategy suppresses "(known after changes)" messages unless we're in the initial creation + ExplicitSuppress = iota +) + // SuppressDiff returns a plan modifier that propagates a state value into the planned value, when it is Known, and the Plan Value is Unknown -func SuppressDiff() planmodifier.Map { - return suppressDiff{} +func SuppressDiff(strategy int) planmodifier.Map { + return suppressDiff{ + strategy: strategy, + } } // suppressDiff implements the plan modifier. -type suppressDiff struct{} +type suppressDiff struct { + strategy int +} // Description returns a human-readable description of the plan modifier. func (m suppressDiff) Description(_ context.Context) string { diff --git a/internal/planmodifiers/numberplanmodifier/suppress_diff.go b/internal/planmodifiers/numberplanmodifier/suppress_diff.go index c1f8f24..9dafa31 100644 --- a/internal/planmodifiers/numberplanmodifier/suppress_diff.go +++ b/internal/planmodifiers/numberplanmodifier/suppress_diff.go @@ -4,18 +4,27 @@ package numberplanmodifier import ( "context" - "github.com/netskope/terraform-provider-ns/internal/planmodifiers/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/planmodifiers/utils" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" ) +const ( + // ExplicitSuppress strategy suppresses "(known after changes)" messages unless we're in the initial creation + ExplicitSuppress = iota +) + // SuppressDiff returns a plan modifier that propagates a state value into the planned value, when it is Known, and the Plan Value is Unknown -func SuppressDiff() planmodifier.Number { - return suppressDiff{} +func SuppressDiff(strategy int) planmodifier.Number { + return suppressDiff{ + strategy: strategy, + } } // suppressDiff implements the plan modifier. -type suppressDiff struct{} +type suppressDiff struct { + strategy int +} // Description returns a human-readable description of the plan modifier. func (m suppressDiff) Description(_ context.Context) string { diff --git a/internal/planmodifiers/objectplanmodifier/suppress_diff.go b/internal/planmodifiers/objectplanmodifier/suppress_diff.go index f995574..ffbe6ae 100644 --- a/internal/planmodifiers/objectplanmodifier/suppress_diff.go +++ b/internal/planmodifiers/objectplanmodifier/suppress_diff.go @@ -4,18 +4,27 @@ package objectplanmodifier import ( "context" - "github.com/netskope/terraform-provider-ns/internal/planmodifiers/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/planmodifiers/utils" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" ) +const ( + // ExplicitSuppress strategy suppresses "(known after changes)" messages unless we're in the initial creation + ExplicitSuppress = iota +) + // SuppressDiff returns a plan modifier that propagates a state value into the planned value, when it is Known, and the Plan Value is Unknown -func SuppressDiff() planmodifier.Object { - return suppressDiff{} +func SuppressDiff(strategy int) planmodifier.Object { + return suppressDiff{ + strategy: strategy, + } } // suppressDiff implements the plan modifier. -type suppressDiff struct{} +type suppressDiff struct { + strategy int +} // Description returns a human-readable description of the plan modifier. func (m suppressDiff) Description(_ context.Context) string { diff --git a/internal/planmodifiers/setplanmodifier/suppress_diff.go b/internal/planmodifiers/setplanmodifier/suppress_diff.go index 6cd2ddf..5fe2bf0 100644 --- a/internal/planmodifiers/setplanmodifier/suppress_diff.go +++ b/internal/planmodifiers/setplanmodifier/suppress_diff.go @@ -4,18 +4,27 @@ package setplanmodifier import ( "context" - "github.com/netskope/terraform-provider-ns/internal/planmodifiers/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/planmodifiers/utils" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" ) +const ( + // ExplicitSuppress strategy suppresses "(known after changes)" messages unless we're in the initial creation + ExplicitSuppress = iota +) + // SuppressDiff returns a plan modifier that propagates a state value into the planned value, when it is Known, and the Plan Value is Unknown -func SuppressDiff() planmodifier.Set { - return suppressDiff{} +func SuppressDiff(strategy int) planmodifier.Set { + return suppressDiff{ + strategy: strategy, + } } // suppressDiff implements the plan modifier. -type suppressDiff struct{} +type suppressDiff struct { + strategy int +} // Description returns a human-readable description of the plan modifier. func (m suppressDiff) Description(_ context.Context) string { diff --git a/internal/planmodifiers/stringplanmodifier/suppress_diff.go b/internal/planmodifiers/stringplanmodifier/suppress_diff.go index 1144cc2..364c7bf 100644 --- a/internal/planmodifiers/stringplanmodifier/suppress_diff.go +++ b/internal/planmodifiers/stringplanmodifier/suppress_diff.go @@ -4,18 +4,27 @@ package stringplanmodifier import ( "context" - "github.com/netskope/terraform-provider-ns/internal/planmodifiers/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/planmodifiers/utils" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" ) +const ( + // ExplicitSuppress strategy suppresses "(known after changes)" messages unless we're in the initial creation + ExplicitSuppress = iota +) + // SuppressDiff returns a plan modifier that propagates a state value into the planned value, when it is Known, and the Plan Value is Unknown -func SuppressDiff() planmodifier.String { - return suppressDiff{} +func SuppressDiff(strategy int) planmodifier.String { + return suppressDiff{ + strategy: strategy, + } } // suppressDiff implements the plan modifier. -type suppressDiff struct{} +type suppressDiff struct { + strategy int +} // Description returns a human-readable description of the plan modifier. func (m suppressDiff) Description(_ context.Context) string { diff --git a/internal/provider/npapolicy_data_source.go b/internal/provider/npapolicy_data_source.go index 6123a3b..a6b5e7e 100644 --- a/internal/provider/npapolicy_data_source.go +++ b/internal/provider/npapolicy_data_source.go @@ -5,13 +5,12 @@ package provider import ( "context" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" - "github.com/hashicorp/terraform-plugin-framework/datasource" "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -24,7 +23,7 @@ func NewNPAPolicyDataSource() datasource.DataSource { // NPAPolicyDataSource is the data source implementation. type NPAPolicyDataSource struct { - client *sdk.SDK + client *sdk.TerraformProviderNs } // NPAPolicyDataSourceModel describes the data model. @@ -106,14 +105,6 @@ func (r *NPAPolicyDataSource) Schema(ctx context.Context, req datasource.SchemaR Computed: true, ElementType: types.StringType, }, - "private_app_tag_ids": schema.ListAttribute{ - Computed: true, - ElementType: types.StringType, - }, - "private_app_tags": schema.ListAttribute{ - Computed: true, - ElementType: types.StringType, - }, "private_apps": schema.ListAttribute{ Computed: true, ElementType: types.StringType, @@ -143,6 +134,14 @@ func (r *NPAPolicyDataSource) Schema(ctx context.Context, req datasource.SchemaR }, }, }, + "private_app_tag_ids": schema.ListAttribute{ + Computed: true, + ElementType: types.StringType, + }, + "private_app_tags": schema.ListAttribute{ + Computed: true, + ElementType: types.StringType, + }, "show_dlp_profile_action_table": schema.BoolAttribute{ Computed: true, }, @@ -154,14 +153,14 @@ func (r *NPAPolicyDataSource) Schema(ctx context.Context, req datasource.SchemaR Computed: true, ElementType: types.StringType, }, - "user_type": schema.StringAttribute{ - Computed: true, - Description: `must be one of ["user"]`, - }, "users": schema.ListAttribute{ Computed: true, ElementType: types.StringType, }, + "user_type": schema.StringAttribute{ + Computed: true, + Description: `must be one of ["user"]`, + }, "version": schema.Int64Attribute{ Computed: true, }, @@ -184,12 +183,12 @@ func (r *NPAPolicyDataSource) Configure(ctx context.Context, req datasource.Conf return } - client, ok := req.ProviderData.(*sdk.SDK) + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) if !ok { resp.Diagnostics.AddError( "Unexpected DataSource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), ) return @@ -236,11 +235,11 @@ func (r *NPAPolicyDataSource) Read(ctx context.Context, req datasource.ReadReque resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return } - if res.Object == nil || res.Object.Data == nil { + if res.Object == nil { resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) return } - data.RefreshFromGetResponse(res.Object.Data) + data.RefreshFromSharedNpaPolicyResponseItem(res.Object.Data) // Save updated data into Terraform state resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) diff --git a/internal/provider/npapolicy_data_source_sdk.go b/internal/provider/npapolicy_data_source_sdk.go index d982d71..b40defb 100644 --- a/internal/provider/npapolicy_data_source_sdk.go +++ b/internal/provider/npapolicy_data_source_sdk.go @@ -4,177 +4,132 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" ) -func (r *NPAPolicyDataSourceModel) RefreshFromGetResponse(resp *shared.NpaPolicyResponseItem) { - if resp.RuleData == nil { - r.RuleData = nil - } else { - r.RuleData = &NpaPolicyRuleData{} - r.RuleData.AccessMethod = nil - for _, v := range resp.RuleData.AccessMethod { - r.RuleData.AccessMethod = append(r.RuleData.AccessMethod, types.StringValue(v)) - } - if resp.RuleData.BNegateNetLocation != nil { - r.RuleData.BNegateNetLocation = types.BoolValue(*resp.RuleData.BNegateNetLocation) - } else { - r.RuleData.BNegateNetLocation = types.BoolNull() - } - if resp.RuleData.BNegateSrcCountries != nil { - r.RuleData.BNegateSrcCountries = types.BoolValue(*resp.RuleData.BNegateSrcCountries) +func (r *NPAPolicyDataSourceModel) RefreshFromSharedNpaPolicyResponseItem(resp *shared.NpaPolicyResponseItem) { + if resp != nil { + if resp.RuleData == nil { + r.RuleData = nil } else { - r.RuleData.BNegateSrcCountries = types.BoolNull() - } - if resp.RuleData.Classification != nil { - r.RuleData.Classification = types.StringValue(*resp.RuleData.Classification) - } else { - r.RuleData.Classification = types.StringNull() - } - if len(r.RuleData.DlpActions) > len(resp.RuleData.DlpActions) { - r.RuleData.DlpActions = r.RuleData.DlpActions[:len(resp.RuleData.DlpActions)] - } - for dlpActionsCount, dlpActionsItem := range resp.RuleData.DlpActions { - var dlpActions1 NpaPolicyRuleDlp - dlpActions1.Actions = nil - for _, v := range dlpActionsItem.Actions { - dlpActions1.Actions = append(dlpActions1.Actions, types.StringValue(string(v))) - } - if dlpActionsItem.DlpProfile != nil { - dlpActions1.DlpProfile = types.StringValue(*dlpActionsItem.DlpProfile) - } else { - dlpActions1.DlpProfile = types.StringNull() + r.RuleData = &NpaPolicyRuleData{} + r.RuleData.AccessMethod = nil + for _, v := range resp.RuleData.AccessMethod { + r.RuleData.AccessMethod = append(r.RuleData.AccessMethod, types.StringValue(v)) } - if dlpActionsCount+1 > len(r.RuleData.DlpActions) { - r.RuleData.DlpActions = append(r.RuleData.DlpActions, dlpActions1) - } else { - r.RuleData.DlpActions[dlpActionsCount].Actions = dlpActions1.Actions - r.RuleData.DlpActions[dlpActionsCount].DlpProfile = dlpActions1.DlpProfile + r.RuleData.BNegateNetLocation = types.BoolPointerValue(resp.RuleData.BNegateNetLocation) + r.RuleData.BNegateSrcCountries = types.BoolPointerValue(resp.RuleData.BNegateSrcCountries) + r.RuleData.Classification = types.StringPointerValue(resp.RuleData.Classification) + if len(r.RuleData.DlpActions) > len(resp.RuleData.DlpActions) { + r.RuleData.DlpActions = r.RuleData.DlpActions[:len(resp.RuleData.DlpActions)] } - } - if resp.RuleData.ExternalDlp != nil { - r.RuleData.ExternalDlp = types.BoolValue(*resp.RuleData.ExternalDlp) - } else { - r.RuleData.ExternalDlp = types.BoolNull() - } - if resp.RuleData.JSONVersion != nil { - r.RuleData.JSONVersion = types.Int64Value(*resp.RuleData.JSONVersion) - } else { - r.RuleData.JSONVersion = types.Int64Null() - } - if resp.RuleData.MatchCriteriaAction == nil { - r.RuleData.MatchCriteriaAction = nil - } else { - r.RuleData.MatchCriteriaAction = &MatchCriteriaAction{} - if resp.RuleData.MatchCriteriaAction.ActionName != nil { - r.RuleData.MatchCriteriaAction.ActionName = types.StringValue(string(*resp.RuleData.MatchCriteriaAction.ActionName)) - } else { - r.RuleData.MatchCriteriaAction.ActionName = types.StringNull() + for dlpActionsCount, dlpActionsItem := range resp.RuleData.DlpActions { + var dlpActions1 NpaPolicyRuleDlp + dlpActions1.Actions = nil + for _, v := range dlpActionsItem.Actions { + dlpActions1.Actions = append(dlpActions1.Actions, types.StringValue(string(v))) + } + dlpActions1.DlpProfile = types.StringPointerValue(dlpActionsItem.DlpProfile) + if dlpActionsCount+1 > len(r.RuleData.DlpActions) { + r.RuleData.DlpActions = append(r.RuleData.DlpActions, dlpActions1) + } else { + r.RuleData.DlpActions[dlpActionsCount].Actions = dlpActions1.Actions + r.RuleData.DlpActions[dlpActionsCount].DlpProfile = dlpActions1.DlpProfile + } } - } - r.RuleData.NetLocationObj = nil - for _, v := range resp.RuleData.NetLocationObj { - r.RuleData.NetLocationObj = append(r.RuleData.NetLocationObj, types.StringValue(v)) - } - r.RuleData.OrganizationUnits = nil - for _, v := range resp.RuleData.OrganizationUnits { - r.RuleData.OrganizationUnits = append(r.RuleData.OrganizationUnits, types.StringValue(v)) - } - if resp.RuleData.PolicyType != nil { - r.RuleData.PolicyType = types.StringValue(string(*resp.RuleData.PolicyType)) - } else { - r.RuleData.PolicyType = types.StringNull() - } - r.RuleData.PrivateAppIds = nil - for _, v := range resp.RuleData.PrivateAppIds { - r.RuleData.PrivateAppIds = append(r.RuleData.PrivateAppIds, types.StringValue(v)) - } - r.RuleData.PrivateAppTagIds = nil - for _, v := range resp.RuleData.PrivateAppTagIds { - r.RuleData.PrivateAppTagIds = append(r.RuleData.PrivateAppTagIds, types.StringValue(v)) - } - r.RuleData.PrivateAppTags = nil - for _, v := range resp.RuleData.PrivateAppTags { - r.RuleData.PrivateAppTags = append(r.RuleData.PrivateAppTags, types.StringValue(v)) - } - r.RuleData.PrivateApps = nil - for _, v := range resp.RuleData.PrivateApps { - r.RuleData.PrivateApps = append(r.RuleData.PrivateApps, types.StringValue(v)) - } - if len(r.RuleData.PrivateAppsWithActivities) > len(resp.RuleData.PrivateAppsWithActivities) { - r.RuleData.PrivateAppsWithActivities = r.RuleData.PrivateAppsWithActivities[:len(resp.RuleData.PrivateAppsWithActivities)] - } - for privateAppsWithActivitiesCount, privateAppsWithActivitiesItem := range resp.RuleData.PrivateAppsWithActivities { - var privateAppsWithActivities1 PrivateAppsWithActivities - if len(privateAppsWithActivities1.Activities) > len(privateAppsWithActivitiesItem.Activities) { - privateAppsWithActivities1.Activities = privateAppsWithActivities1.Activities[:len(privateAppsWithActivitiesItem.Activities)] - } - for activitiesCount, activitiesItem := range privateAppsWithActivitiesItem.Activities { - var activities1 Activities - if activitiesItem.Activity != nil { - activities1.Activity = types.StringValue(string(*activitiesItem.Activity)) + r.RuleData.ExternalDlp = types.BoolPointerValue(resp.RuleData.ExternalDlp) + r.RuleData.JSONVersion = types.Int64PointerValue(resp.RuleData.JSONVersion) + if resp.RuleData.MatchCriteriaAction == nil { + r.RuleData.MatchCriteriaAction = nil + } else { + r.RuleData.MatchCriteriaAction = &MatchCriteriaAction{} + if resp.RuleData.MatchCriteriaAction.ActionName != nil { + r.RuleData.MatchCriteriaAction.ActionName = types.StringValue(string(*resp.RuleData.MatchCriteriaAction.ActionName)) } else { - activities1.Activity = types.StringNull() + r.RuleData.MatchCriteriaAction.ActionName = types.StringNull() } - activities1.ListOfConstraints = nil - for _, v := range activitiesItem.ListOfConstraints { - activities1.ListOfConstraints = append(activities1.ListOfConstraints, types.StringValue(v)) + } + r.RuleData.NetLocationObj = nil + for _, v := range resp.RuleData.NetLocationObj { + r.RuleData.NetLocationObj = append(r.RuleData.NetLocationObj, types.StringValue(v)) + } + r.RuleData.OrganizationUnits = nil + for _, v := range resp.RuleData.OrganizationUnits { + r.RuleData.OrganizationUnits = append(r.RuleData.OrganizationUnits, types.StringValue(v)) + } + if resp.RuleData.PolicyType != nil { + r.RuleData.PolicyType = types.StringValue(string(*resp.RuleData.PolicyType)) + } else { + r.RuleData.PolicyType = types.StringNull() + } + r.RuleData.PrivateAppIds = nil + for _, v := range resp.RuleData.PrivateAppIds { + r.RuleData.PrivateAppIds = append(r.RuleData.PrivateAppIds, types.StringValue(v)) + } + r.RuleData.PrivateApps = nil + for _, v := range resp.RuleData.PrivateApps { + r.RuleData.PrivateApps = append(r.RuleData.PrivateApps, types.StringValue(v)) + } + if len(r.RuleData.PrivateAppsWithActivities) > len(resp.RuleData.PrivateAppsWithActivities) { + r.RuleData.PrivateAppsWithActivities = r.RuleData.PrivateAppsWithActivities[:len(resp.RuleData.PrivateAppsWithActivities)] + } + for privateAppsWithActivitiesCount, privateAppsWithActivitiesItem := range resp.RuleData.PrivateAppsWithActivities { + var privateAppsWithActivities1 PrivateAppsWithActivities + for activitiesCount, activitiesItem := range privateAppsWithActivitiesItem.Activities { + var activities1 Activities + if activitiesItem.Activity != nil { + activities1.Activity = types.StringValue(string(*activitiesItem.Activity)) + } else { + activities1.Activity = types.StringNull() + } + activities1.ListOfConstraints = nil + for _, v := range activitiesItem.ListOfConstraints { + activities1.ListOfConstraints = append(activities1.ListOfConstraints, types.StringValue(v)) + } + if activitiesCount+1 > len(privateAppsWithActivities1.Activities) { + privateAppsWithActivities1.Activities = append(privateAppsWithActivities1.Activities, activities1) + } else { + privateAppsWithActivities1.Activities[activitiesCount].Activity = activities1.Activity + privateAppsWithActivities1.Activities[activitiesCount].ListOfConstraints = activities1.ListOfConstraints + } } - if activitiesCount+1 > len(privateAppsWithActivities1.Activities) { - privateAppsWithActivities1.Activities = append(privateAppsWithActivities1.Activities, activities1) + privateAppsWithActivities1.AppName = types.StringPointerValue(privateAppsWithActivitiesItem.AppName) + if privateAppsWithActivitiesCount+1 > len(r.RuleData.PrivateAppsWithActivities) { + r.RuleData.PrivateAppsWithActivities = append(r.RuleData.PrivateAppsWithActivities, privateAppsWithActivities1) } else { - privateAppsWithActivities1.Activities[activitiesCount].Activity = activities1.Activity - privateAppsWithActivities1.Activities[activitiesCount].ListOfConstraints = activities1.ListOfConstraints + r.RuleData.PrivateAppsWithActivities[privateAppsWithActivitiesCount].Activities = privateAppsWithActivities1.Activities + r.RuleData.PrivateAppsWithActivities[privateAppsWithActivitiesCount].AppName = privateAppsWithActivities1.AppName } } - if privateAppsWithActivitiesItem.AppName != nil { - privateAppsWithActivities1.AppName = types.StringValue(*privateAppsWithActivitiesItem.AppName) - } else { - privateAppsWithActivities1.AppName = types.StringNull() + r.RuleData.PrivateAppTagIds = nil + for _, v := range resp.RuleData.PrivateAppTagIds { + r.RuleData.PrivateAppTagIds = append(r.RuleData.PrivateAppTagIds, types.StringValue(v)) + } + r.RuleData.PrivateAppTags = nil + for _, v := range resp.RuleData.PrivateAppTags { + r.RuleData.PrivateAppTags = append(r.RuleData.PrivateAppTags, types.StringValue(v)) + } + r.RuleData.ShowDlpProfileActionTable = types.BoolPointerValue(resp.RuleData.ShowDlpProfileActionTable) + r.RuleData.SrcCountries = nil + for _, v := range resp.RuleData.SrcCountries { + r.RuleData.SrcCountries = append(r.RuleData.SrcCountries, types.StringValue(v)) } - if privateAppsWithActivitiesCount+1 > len(r.RuleData.PrivateAppsWithActivities) { - r.RuleData.PrivateAppsWithActivities = append(r.RuleData.PrivateAppsWithActivities, privateAppsWithActivities1) + r.RuleData.UserGroups = nil + for _, v := range resp.RuleData.UserGroups { + r.RuleData.UserGroups = append(r.RuleData.UserGroups, types.StringValue(v)) + } + r.RuleData.Users = nil + for _, v := range resp.RuleData.Users { + r.RuleData.Users = append(r.RuleData.Users, types.StringValue(v)) + } + if resp.RuleData.UserType != nil { + r.RuleData.UserType = types.StringValue(string(*resp.RuleData.UserType)) } else { - r.RuleData.PrivateAppsWithActivities[privateAppsWithActivitiesCount].Activities = privateAppsWithActivities1.Activities - r.RuleData.PrivateAppsWithActivities[privateAppsWithActivitiesCount].AppName = privateAppsWithActivities1.AppName + r.RuleData.UserType = types.StringNull() } + r.RuleData.Version = types.Int64PointerValue(resp.RuleData.Version) } - if resp.RuleData.ShowDlpProfileActionTable != nil { - r.RuleData.ShowDlpProfileActionTable = types.BoolValue(*resp.RuleData.ShowDlpProfileActionTable) - } else { - r.RuleData.ShowDlpProfileActionTable = types.BoolNull() - } - r.RuleData.SrcCountries = nil - for _, v := range resp.RuleData.SrcCountries { - r.RuleData.SrcCountries = append(r.RuleData.SrcCountries, types.StringValue(v)) - } - r.RuleData.UserGroups = nil - for _, v := range resp.RuleData.UserGroups { - r.RuleData.UserGroups = append(r.RuleData.UserGroups, types.StringValue(v)) - } - if resp.RuleData.UserType != nil { - r.RuleData.UserType = types.StringValue(string(*resp.RuleData.UserType)) - } else { - r.RuleData.UserType = types.StringNull() - } - r.RuleData.Users = nil - for _, v := range resp.RuleData.Users { - r.RuleData.Users = append(r.RuleData.Users, types.StringValue(v)) - } - if resp.RuleData.Version != nil { - r.RuleData.Version = types.Int64Value(*resp.RuleData.Version) - } else { - r.RuleData.Version = types.Int64Null() - } - } - if resp.RuleID != nil { - r.RuleID = types.StringValue(*resp.RuleID) - } else { - r.RuleID = types.StringNull() - } - if resp.RuleName != nil { - r.RuleName = types.StringValue(*resp.RuleName) - } else { - r.RuleName = types.StringNull() + r.RuleID = types.StringPointerValue(resp.RuleID) + r.RuleName = types.StringPointerValue(resp.RuleName) } } diff --git a/internal/provider/npapolicy_resource.go b/internal/provider/npapolicy_resource.go index 51a20e2..65c839d 100644 --- a/internal/provider/npapolicy_resource.go +++ b/internal/provider/npapolicy_resource.go @@ -5,8 +5,6 @@ package provider import ( "context" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" @@ -14,7 +12,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -27,7 +26,7 @@ func NewNPAPolicyResource() resource.Resource { // NPAPolicyResource defines the resource implementation. type NPAPolicyResource struct { - client *sdk.SDK + client *sdk.TerraformProviderNs } // NPAPolicyResourceModel describes the resource data model. @@ -36,9 +35,9 @@ type NPAPolicyResourceModel struct { Enabled types.String `tfsdk:"enabled"` GroupName types.String `tfsdk:"group_name"` RuleData *NpaPolicyRuleData `tfsdk:"rule_data"` - RuleID types.String `tfsdk:"rule_id"` RuleName types.String `tfsdk:"rule_name"` RuleOrder *RuleOrder `tfsdk:"rule_order"` + RuleID types.String `tfsdk:"rule_id"` } func (r *NPAPolicyResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) { @@ -232,9 +231,6 @@ func (r *NPAPolicyResource) Schema(ctx context.Context, req resource.SchemaReque }, }, }, - "rule_id": schema.StringAttribute{ - Computed: true, - }, "rule_name": schema.StringAttribute{ Computed: true, Optional: true, @@ -265,6 +261,10 @@ func (r *NPAPolicyResource) Schema(ctx context.Context, req resource.SchemaReque }, }, }, + "rule_id": schema.StringAttribute{ + Computed: true, + Description: `npa policy id`, + }, }, } } @@ -275,12 +275,12 @@ func (r *NPAPolicyResource) Configure(ctx context.Context, req resource.Configur return } - client, ok := req.ProviderData.(*sdk.SDK) + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) if !ok { resp.Diagnostics.AddError( "Unexpected Resource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), ) return @@ -291,14 +291,14 @@ func (r *NPAPolicyResource) Configure(ctx context.Context, req resource.Configur func (r *NPAPolicyResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { var data *NPAPolicyResourceModel - var item types.Object + var plan types.Object - resp.Diagnostics.Append(req.Plan.Get(ctx, &item)...) + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) if resp.Diagnostics.HasError() { return } - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + resp.Diagnostics.Append(plan.As(ctx, &data, basetypes.ObjectAsOptions{ UnhandledNullAsEmpty: true, UnhandledUnknownAsEmpty: true, })...) @@ -307,7 +307,7 @@ func (r *NPAPolicyResource) Create(ctx context.Context, req resource.CreateReque return } - request := *data.ToCreateSDKType() + request := *data.ToSharedNpaPolicyRequest() res, err := r.client.PostPolicyNpaRules(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) @@ -324,11 +324,38 @@ func (r *NPAPolicyResource) Create(ctx context.Context, req resource.CreateReque resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return } - if res.Object == nil || res.Object.Data == nil { + if res.Object == nil { resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) return } - data.RefreshFromCreateResponse(res.Object.Data) + data.RefreshFromSharedNpaPolicyResponseItem(res.Object.Data) + refreshPlan(ctx, plan, &data, resp.Diagnostics) + id := data.RuleID.ValueString() + request1 := operations.GetPolicyNpaRulesIDRequest{ + ID: id, + } + res1, err := r.client.GetPolicyNpaRulesID(ctx, request1) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res1 != nil && res1.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res1.RawResponse)) + } + return + } + if res1 == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res1)) + return + } + if res1.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res1.StatusCode), debugResponse(res1.RawResponse)) + return + } + if res1.Object == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res1.RawResponse)) + return + } + data.RefreshFromSharedNpaPolicyResponseItem(res1.Object.Data) + refreshPlan(ctx, plan, &data, resp.Diagnostics) // Save updated data into Terraform state resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) @@ -372,11 +399,11 @@ func (r *NPAPolicyResource) Read(ctx context.Context, req resource.ReadRequest, resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return } - if res.Object == nil || res.Object.Data == nil { + if res.Object == nil { resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) return } - data.RefreshFromGetResponse(res.Object.Data) + data.RefreshFromSharedNpaPolicyResponseItem(res.Object.Data) // Save updated data into Terraform state resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) @@ -384,13 +411,20 @@ func (r *NPAPolicyResource) Read(ctx context.Context, req resource.ReadRequest, func (r *NPAPolicyResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { var data *NPAPolicyResourceModel + var plan types.Object + + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + merge(ctx, req, resp, &data) if resp.Diagnostics.HasError() { return } id := data.RuleID.ValueString() - npaPolicyRequest := *data.ToUpdateSDKType() + npaPolicyRequest := *data.ToSharedNpaPolicyRequest() request := operations.PatchPolicyNpaRulesIDRequest{ ID: id, NpaPolicyRequest: npaPolicyRequest, @@ -411,11 +445,38 @@ func (r *NPAPolicyResource) Update(ctx context.Context, req resource.UpdateReque resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return } - if res.Object == nil || res.Object.Data == nil { + if res.Object == nil { resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) return } - data.RefreshFromUpdateResponse(res.Object.Data) + data.RefreshFromSharedNpaPolicyResponseItem(res.Object.Data) + refreshPlan(ctx, plan, &data, resp.Diagnostics) + id1 := data.RuleID.ValueString() + request1 := operations.GetPolicyNpaRulesIDRequest{ + ID: id1, + } + res1, err := r.client.GetPolicyNpaRulesID(ctx, request1) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res1 != nil && res1.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res1.RawResponse)) + } + return + } + if res1 == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res1)) + return + } + if res1.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res1.StatusCode), debugResponse(res1.RawResponse)) + return + } + if res1.Object == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res1.RawResponse)) + return + } + data.RefreshFromSharedNpaPolicyResponseItem(res1.Object.Data) + refreshPlan(ctx, plan, &data, resp.Diagnostics) // Save updated data into Terraform state resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) diff --git a/internal/provider/npapolicy_resource_sdk.go b/internal/provider/npapolicy_resource_sdk.go index fa97a6f..3dabdf0 100644 --- a/internal/provider/npapolicy_resource_sdk.go +++ b/internal/provider/npapolicy_resource_sdk.go @@ -4,125 +4,76 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" ) -func (r *NPAPolicyResourceModel) ToCreateSDKType() *shared.NpaPolicyRequest { +func (r *NPAPolicyResourceModel) ToSharedNpaPolicyRequest() *shared.NpaPolicyRequest { + ruleName := new(string) + if !r.RuleName.IsUnknown() && !r.RuleName.IsNull() { + *ruleName = r.RuleName.ValueString() + } else { + ruleName = nil + } description := new(string) if !r.Description.IsUnknown() && !r.Description.IsNull() { *description = r.Description.ValueString() } else { description = nil } - enabled := new(string) - if !r.Enabled.IsUnknown() && !r.Enabled.IsNull() { - *enabled = r.Enabled.ValueString() - } else { - enabled = nil - } - groupName := new(string) - if !r.GroupName.IsUnknown() && !r.GroupName.IsNull() { - *groupName = r.GroupName.ValueString() - } else { - groupName = nil - } var ruleData *shared.NpaPolicyRuleData if r.RuleData != nil { - var accessMethod []string = nil - for _, accessMethodItem := range r.RuleData.AccessMethod { - accessMethod = append(accessMethod, accessMethodItem.ValueString()) - } - bNegateNetLocation := new(bool) - if !r.RuleData.BNegateNetLocation.IsUnknown() && !r.RuleData.BNegateNetLocation.IsNull() { - *bNegateNetLocation = r.RuleData.BNegateNetLocation.ValueBool() - } else { - bNegateNetLocation = nil - } - bNegateSrcCountries := new(bool) - if !r.RuleData.BNegateSrcCountries.IsUnknown() && !r.RuleData.BNegateSrcCountries.IsNull() { - *bNegateSrcCountries = r.RuleData.BNegateSrcCountries.ValueBool() - } else { - bNegateSrcCountries = nil - } - classification := new(string) - if !r.RuleData.Classification.IsUnknown() && !r.RuleData.Classification.IsNull() { - *classification = r.RuleData.Classification.ValueString() - } else { - classification = nil - } - var dlpActions []shared.NpaPolicyRuleDlp = nil - for _, dlpActionsItem := range r.RuleData.DlpActions { - var actions []shared.Actions = nil - for _, actionsItem := range dlpActionsItem.Actions { - actions = append(actions, shared.Actions(actionsItem.ValueString())) - } - dlpProfile := new(string) - if !dlpActionsItem.DlpProfile.IsUnknown() && !dlpActionsItem.DlpProfile.IsNull() { - *dlpProfile = dlpActionsItem.DlpProfile.ValueString() - } else { - dlpProfile = nil - } - dlpActions = append(dlpActions, shared.NpaPolicyRuleDlp{ - Actions: actions, - DlpProfile: dlpProfile, - }) - } - externalDlp := new(bool) - if !r.RuleData.ExternalDlp.IsUnknown() && !r.RuleData.ExternalDlp.IsNull() { - *externalDlp = r.RuleData.ExternalDlp.ValueBool() - } else { - externalDlp = nil - } - jsonVersion := new(int64) - if !r.RuleData.JSONVersion.IsUnknown() && !r.RuleData.JSONVersion.IsNull() { - *jsonVersion = r.RuleData.JSONVersion.ValueInt64() - } else { - jsonVersion = nil - } - var matchCriteriaAction *shared.MatchCriteriaAction - if r.RuleData.MatchCriteriaAction != nil { - actionName := new(shared.ActionName) - if !r.RuleData.MatchCriteriaAction.ActionName.IsUnknown() && !r.RuleData.MatchCriteriaAction.ActionName.IsNull() { - *actionName = shared.ActionName(r.RuleData.MatchCriteriaAction.ActionName.ValueString()) - } else { - actionName = nil - } - matchCriteriaAction = &shared.MatchCriteriaAction{ - ActionName: actionName, - } + var users []string = nil + for _, usersItem := range r.RuleData.Users { + users = append(users, usersItem.ValueString()) } - var netLocationObj []string = nil - for _, netLocationObjItem := range r.RuleData.NetLocationObj { - netLocationObj = append(netLocationObj, netLocationObjItem.ValueString()) + var userGroups []string = nil + for _, userGroupsItem := range r.RuleData.UserGroups { + userGroups = append(userGroups, userGroupsItem.ValueString()) } var organizationUnits []string = nil for _, organizationUnitsItem := range r.RuleData.OrganizationUnits { organizationUnits = append(organizationUnits, organizationUnitsItem.ValueString()) } + userType := new(shared.UserType) + if !r.RuleData.UserType.IsUnknown() && !r.RuleData.UserType.IsNull() { + *userType = shared.UserType(r.RuleData.UserType.ValueString()) + } else { + userType = nil + } + var accessMethod []string = nil + for _, accessMethodItem := range r.RuleData.AccessMethod { + accessMethod = append(accessMethod, accessMethodItem.ValueString()) + } policyType := new(shared.PolicyType) if !r.RuleData.PolicyType.IsUnknown() && !r.RuleData.PolicyType.IsNull() { *policyType = shared.PolicyType(r.RuleData.PolicyType.ValueString()) } else { policyType = nil } + var privateApps []string = nil + for _, privateAppsItem := range r.RuleData.PrivateApps { + privateApps = append(privateApps, privateAppsItem.ValueString()) + } var privateAppIds []string = nil for _, privateAppIdsItem := range r.RuleData.PrivateAppIds { privateAppIds = append(privateAppIds, privateAppIdsItem.ValueString()) } - var privateAppTagIds []string = nil - for _, privateAppTagIdsItem := range r.RuleData.PrivateAppTagIds { - privateAppTagIds = append(privateAppTagIds, privateAppTagIdsItem.ValueString()) - } var privateAppTags []string = nil for _, privateAppTagsItem := range r.RuleData.PrivateAppTags { privateAppTags = append(privateAppTags, privateAppTagsItem.ValueString()) } - var privateApps []string = nil - for _, privateAppsItem := range r.RuleData.PrivateApps { - privateApps = append(privateApps, privateAppsItem.ValueString()) + var privateAppTagIds []string = nil + for _, privateAppTagIdsItem := range r.RuleData.PrivateAppTagIds { + privateAppTagIds = append(privateAppTagIds, privateAppTagIdsItem.ValueString()) } var privateAppsWithActivities []shared.PrivateAppsWithActivities = nil for _, privateAppsWithActivitiesItem := range r.RuleData.PrivateAppsWithActivities { + appName := new(string) + if !privateAppsWithActivitiesItem.AppName.IsUnknown() && !privateAppsWithActivitiesItem.AppName.IsNull() { + *appName = privateAppsWithActivitiesItem.AppName.ValueString() + } else { + appName = nil + } var activities []shared.Activities = nil for _, activitiesItem := range privateAppsWithActivitiesItem.Activities { activity := new(shared.Activity) @@ -140,40 +91,66 @@ func (r *NPAPolicyResourceModel) ToCreateSDKType() *shared.NpaPolicyRequest { ListOfConstraints: listOfConstraints, }) } - appName := new(string) - if !privateAppsWithActivitiesItem.AppName.IsUnknown() && !privateAppsWithActivitiesItem.AppName.IsNull() { - *appName = privateAppsWithActivitiesItem.AppName.ValueString() - } else { - appName = nil - } privateAppsWithActivities = append(privateAppsWithActivities, shared.PrivateAppsWithActivities{ - Activities: activities, AppName: appName, + Activities: activities, }) } + var matchCriteriaAction *shared.MatchCriteriaAction + if r.RuleData.MatchCriteriaAction != nil { + actionName := new(shared.ActionName) + if !r.RuleData.MatchCriteriaAction.ActionName.IsUnknown() && !r.RuleData.MatchCriteriaAction.ActionName.IsNull() { + *actionName = shared.ActionName(r.RuleData.MatchCriteriaAction.ActionName.ValueString()) + } else { + actionName = nil + } + matchCriteriaAction = &shared.MatchCriteriaAction{ + ActionName: actionName, + } + } + classification := new(string) + if !r.RuleData.Classification.IsUnknown() && !r.RuleData.Classification.IsNull() { + *classification = r.RuleData.Classification.ValueString() + } else { + classification = nil + } showDlpProfileActionTable := new(bool) if !r.RuleData.ShowDlpProfileActionTable.IsUnknown() && !r.RuleData.ShowDlpProfileActionTable.IsNull() { *showDlpProfileActionTable = r.RuleData.ShowDlpProfileActionTable.ValueBool() } else { showDlpProfileActionTable = nil } + externalDlp := new(bool) + if !r.RuleData.ExternalDlp.IsUnknown() && !r.RuleData.ExternalDlp.IsNull() { + *externalDlp = r.RuleData.ExternalDlp.ValueBool() + } else { + externalDlp = nil + } + var netLocationObj []string = nil + for _, netLocationObjItem := range r.RuleData.NetLocationObj { + netLocationObj = append(netLocationObj, netLocationObjItem.ValueString()) + } + bNegateNetLocation := new(bool) + if !r.RuleData.BNegateNetLocation.IsUnknown() && !r.RuleData.BNegateNetLocation.IsNull() { + *bNegateNetLocation = r.RuleData.BNegateNetLocation.ValueBool() + } else { + bNegateNetLocation = nil + } var srcCountries []string = nil for _, srcCountriesItem := range r.RuleData.SrcCountries { srcCountries = append(srcCountries, srcCountriesItem.ValueString()) } - var userGroups []string = nil - for _, userGroupsItem := range r.RuleData.UserGroups { - userGroups = append(userGroups, userGroupsItem.ValueString()) - } - userType := new(shared.UserType) - if !r.RuleData.UserType.IsUnknown() && !r.RuleData.UserType.IsNull() { - *userType = shared.UserType(r.RuleData.UserType.ValueString()) + bNegateSrcCountries := new(bool) + if !r.RuleData.BNegateSrcCountries.IsUnknown() && !r.RuleData.BNegateSrcCountries.IsNull() { + *bNegateSrcCountries = r.RuleData.BNegateSrcCountries.ValueBool() } else { - userType = nil + bNegateSrcCountries = nil } - var users []string = nil - for _, usersItem := range r.RuleData.Users { - users = append(users, usersItem.ValueString()) + jsonVersion := new(int64) + if !r.RuleData.JSONVersion.IsUnknown() && !r.RuleData.JSONVersion.IsNull() { + *jsonVersion = r.RuleData.JSONVersion.ValueInt64() + } else { + jsonVersion = nil } version := new(int64) if !r.RuleData.Version.IsUnknown() && !r.RuleData.Version.IsNull() { @@ -181,37 +158,48 @@ func (r *NPAPolicyResourceModel) ToCreateSDKType() *shared.NpaPolicyRequest { } else { version = nil } + var dlpActions []shared.NpaPolicyRuleDlp = nil + for _, dlpActionsItem := range r.RuleData.DlpActions { + dlpProfile := new(string) + if !dlpActionsItem.DlpProfile.IsUnknown() && !dlpActionsItem.DlpProfile.IsNull() { + *dlpProfile = dlpActionsItem.DlpProfile.ValueString() + } else { + dlpProfile = nil + } + var actions []shared.Actions = nil + for _, actionsItem := range dlpActionsItem.Actions { + actions = append(actions, shared.Actions(actionsItem.ValueString())) + } + dlpActions = append(dlpActions, shared.NpaPolicyRuleDlp{ + DlpProfile: dlpProfile, + Actions: actions, + }) + } ruleData = &shared.NpaPolicyRuleData{ - AccessMethod: accessMethod, - BNegateNetLocation: bNegateNetLocation, - BNegateSrcCountries: bNegateSrcCountries, - Classification: classification, - DlpActions: dlpActions, - ExternalDlp: externalDlp, - JSONVersion: jsonVersion, - MatchCriteriaAction: matchCriteriaAction, - NetLocationObj: netLocationObj, + Users: users, + UserGroups: userGroups, OrganizationUnits: organizationUnits, + UserType: userType, + AccessMethod: accessMethod, PolicyType: policyType, + PrivateApps: privateApps, PrivateAppIds: privateAppIds, - PrivateAppTagIds: privateAppTagIds, PrivateAppTags: privateAppTags, - PrivateApps: privateApps, + PrivateAppTagIds: privateAppTagIds, PrivateAppsWithActivities: privateAppsWithActivities, + MatchCriteriaAction: matchCriteriaAction, + Classification: classification, ShowDlpProfileActionTable: showDlpProfileActionTable, + ExternalDlp: externalDlp, + NetLocationObj: netLocationObj, + BNegateNetLocation: bNegateNetLocation, SrcCountries: srcCountries, - UserGroups: userGroups, - UserType: userType, - Users: users, + BNegateSrcCountries: bNegateSrcCountries, + JSONVersion: jsonVersion, Version: version, + DlpActions: dlpActions, } } - ruleName := new(string) - if !r.RuleName.IsUnknown() && !r.RuleName.IsNull() { - *ruleName = r.RuleName.ValueString() - } else { - ruleName = nil - } var ruleOrder *shared.RuleOrder if r.RuleOrder != nil { order := new(shared.Order) @@ -220,11 +208,11 @@ func (r *NPAPolicyResourceModel) ToCreateSDKType() *shared.NpaPolicyRequest { } else { order = nil } - position := new(int64) - if !r.RuleOrder.Position.IsUnknown() && !r.RuleOrder.Position.IsNull() { - *position = r.RuleOrder.Position.ValueInt64() + ruleName1 := new(string) + if !r.RuleOrder.RuleName.IsUnknown() && !r.RuleOrder.RuleName.IsNull() { + *ruleName1 = r.RuleOrder.RuleName.ValueString() } else { - position = nil + ruleName1 = nil } ruleID := new(string) if !r.RuleOrder.RuleID.IsUnknown() && !r.RuleOrder.RuleID.IsNull() { @@ -232,221 +220,165 @@ func (r *NPAPolicyResourceModel) ToCreateSDKType() *shared.NpaPolicyRequest { } else { ruleID = nil } - ruleName1 := new(string) - if !r.RuleOrder.RuleName.IsUnknown() && !r.RuleOrder.RuleName.IsNull() { - *ruleName1 = r.RuleOrder.RuleName.ValueString() + position := new(int64) + if !r.RuleOrder.Position.IsUnknown() && !r.RuleOrder.Position.IsNull() { + *position = r.RuleOrder.Position.ValueInt64() } else { - ruleName1 = nil + position = nil } ruleOrder = &shared.RuleOrder{ Order: order, - Position: position, - RuleID: ruleID, RuleName: ruleName1, + RuleID: ruleID, + Position: position, } } + groupName := new(string) + if !r.GroupName.IsUnknown() && !r.GroupName.IsNull() { + *groupName = r.GroupName.ValueString() + } else { + groupName = nil + } + enabled := new(string) + if !r.Enabled.IsUnknown() && !r.Enabled.IsNull() { + *enabled = r.Enabled.ValueString() + } else { + enabled = nil + } out := shared.NpaPolicyRequest{ + RuleName: ruleName, Description: description, - Enabled: enabled, - GroupName: groupName, RuleData: ruleData, - RuleName: ruleName, RuleOrder: ruleOrder, + GroupName: groupName, + Enabled: enabled, } return &out } -func (r *NPAPolicyResourceModel) ToGetSDKType() *shared.NpaPolicyRequest { - out := r.ToCreateSDKType() - return out -} - -func (r *NPAPolicyResourceModel) ToUpdateSDKType() *shared.NpaPolicyRequest { - out := r.ToCreateSDKType() - return out -} - -func (r *NPAPolicyResourceModel) ToDeleteSDKType() *shared.NpaPolicyRequest { - out := r.ToCreateSDKType() - return out -} - -func (r *NPAPolicyResourceModel) RefreshFromGetResponse(resp *shared.NpaPolicyResponseItem) { - if resp.RuleData == nil { - r.RuleData = nil - } else { - r.RuleData = &NpaPolicyRuleData{} - r.RuleData.AccessMethod = nil - for _, v := range resp.RuleData.AccessMethod { - r.RuleData.AccessMethod = append(r.RuleData.AccessMethod, types.StringValue(v)) - } - if resp.RuleData.BNegateNetLocation != nil { - r.RuleData.BNegateNetLocation = types.BoolValue(*resp.RuleData.BNegateNetLocation) +func (r *NPAPolicyResourceModel) RefreshFromSharedNpaPolicyResponseItem(resp *shared.NpaPolicyResponseItem) { + if resp != nil { + if resp.RuleData == nil { + r.RuleData = nil } else { - r.RuleData.BNegateNetLocation = types.BoolNull() - } - if resp.RuleData.BNegateSrcCountries != nil { - r.RuleData.BNegateSrcCountries = types.BoolValue(*resp.RuleData.BNegateSrcCountries) - } else { - r.RuleData.BNegateSrcCountries = types.BoolNull() - } - if resp.RuleData.Classification != nil { - r.RuleData.Classification = types.StringValue(*resp.RuleData.Classification) - } else { - r.RuleData.Classification = types.StringNull() - } - if len(r.RuleData.DlpActions) > len(resp.RuleData.DlpActions) { - r.RuleData.DlpActions = r.RuleData.DlpActions[:len(resp.RuleData.DlpActions)] - } - for dlpActionsCount, dlpActionsItem := range resp.RuleData.DlpActions { - var dlpActions1 NpaPolicyRuleDlp - dlpActions1.Actions = nil - for _, v := range dlpActionsItem.Actions { - dlpActions1.Actions = append(dlpActions1.Actions, types.StringValue(string(v))) + r.RuleData = &NpaPolicyRuleData{} + r.RuleData.AccessMethod = nil + for _, v := range resp.RuleData.AccessMethod { + r.RuleData.AccessMethod = append(r.RuleData.AccessMethod, types.StringValue(v)) } - if dlpActionsItem.DlpProfile != nil { - dlpActions1.DlpProfile = types.StringValue(*dlpActionsItem.DlpProfile) - } else { - dlpActions1.DlpProfile = types.StringNull() + r.RuleData.BNegateNetLocation = types.BoolPointerValue(resp.RuleData.BNegateNetLocation) + r.RuleData.BNegateSrcCountries = types.BoolPointerValue(resp.RuleData.BNegateSrcCountries) + r.RuleData.Classification = types.StringPointerValue(resp.RuleData.Classification) + if len(r.RuleData.DlpActions) > len(resp.RuleData.DlpActions) { + r.RuleData.DlpActions = r.RuleData.DlpActions[:len(resp.RuleData.DlpActions)] + } + for dlpActionsCount, dlpActionsItem := range resp.RuleData.DlpActions { + var dlpActions1 NpaPolicyRuleDlp + dlpActions1.Actions = nil + for _, v := range dlpActionsItem.Actions { + dlpActions1.Actions = append(dlpActions1.Actions, types.StringValue(string(v))) + } + dlpActions1.DlpProfile = types.StringPointerValue(dlpActionsItem.DlpProfile) + if dlpActionsCount+1 > len(r.RuleData.DlpActions) { + r.RuleData.DlpActions = append(r.RuleData.DlpActions, dlpActions1) + } else { + r.RuleData.DlpActions[dlpActionsCount].Actions = dlpActions1.Actions + r.RuleData.DlpActions[dlpActionsCount].DlpProfile = dlpActions1.DlpProfile + } } - if dlpActionsCount+1 > len(r.RuleData.DlpActions) { - r.RuleData.DlpActions = append(r.RuleData.DlpActions, dlpActions1) + r.RuleData.ExternalDlp = types.BoolPointerValue(resp.RuleData.ExternalDlp) + r.RuleData.JSONVersion = types.Int64PointerValue(resp.RuleData.JSONVersion) + if resp.RuleData.MatchCriteriaAction == nil { + r.RuleData.MatchCriteriaAction = nil } else { - r.RuleData.DlpActions[dlpActionsCount].Actions = dlpActions1.Actions - r.RuleData.DlpActions[dlpActionsCount].DlpProfile = dlpActions1.DlpProfile + r.RuleData.MatchCriteriaAction = &MatchCriteriaAction{} + if resp.RuleData.MatchCriteriaAction.ActionName != nil { + r.RuleData.MatchCriteriaAction.ActionName = types.StringValue(string(*resp.RuleData.MatchCriteriaAction.ActionName)) + } else { + r.RuleData.MatchCriteriaAction.ActionName = types.StringNull() + } } - } - if resp.RuleData.ExternalDlp != nil { - r.RuleData.ExternalDlp = types.BoolValue(*resp.RuleData.ExternalDlp) - } else { - r.RuleData.ExternalDlp = types.BoolNull() - } - if resp.RuleData.JSONVersion != nil { - r.RuleData.JSONVersion = types.Int64Value(*resp.RuleData.JSONVersion) - } else { - r.RuleData.JSONVersion = types.Int64Null() - } - if resp.RuleData.MatchCriteriaAction == nil { - r.RuleData.MatchCriteriaAction = nil - } else { - r.RuleData.MatchCriteriaAction = &MatchCriteriaAction{} - if resp.RuleData.MatchCriteriaAction.ActionName != nil { - r.RuleData.MatchCriteriaAction.ActionName = types.StringValue(string(*resp.RuleData.MatchCriteriaAction.ActionName)) + r.RuleData.NetLocationObj = nil + for _, v := range resp.RuleData.NetLocationObj { + r.RuleData.NetLocationObj = append(r.RuleData.NetLocationObj, types.StringValue(v)) + } + r.RuleData.OrganizationUnits = nil + for _, v := range resp.RuleData.OrganizationUnits { + r.RuleData.OrganizationUnits = append(r.RuleData.OrganizationUnits, types.StringValue(v)) + } + if resp.RuleData.PolicyType != nil { + r.RuleData.PolicyType = types.StringValue(string(*resp.RuleData.PolicyType)) } else { - r.RuleData.MatchCriteriaAction.ActionName = types.StringNull() + r.RuleData.PolicyType = types.StringNull() } - } - r.RuleData.NetLocationObj = nil - for _, v := range resp.RuleData.NetLocationObj { - r.RuleData.NetLocationObj = append(r.RuleData.NetLocationObj, types.StringValue(v)) - } - r.RuleData.OrganizationUnits = nil - for _, v := range resp.RuleData.OrganizationUnits { - r.RuleData.OrganizationUnits = append(r.RuleData.OrganizationUnits, types.StringValue(v)) - } - if resp.RuleData.PolicyType != nil { - r.RuleData.PolicyType = types.StringValue(string(*resp.RuleData.PolicyType)) - } else { - r.RuleData.PolicyType = types.StringNull() - } - r.RuleData.PrivateAppIds = nil - for _, v := range resp.RuleData.PrivateAppIds { - r.RuleData.PrivateAppIds = append(r.RuleData.PrivateAppIds, types.StringValue(v)) - } - r.RuleData.PrivateApps = nil - for _, v := range resp.RuleData.PrivateApps { - r.RuleData.PrivateApps = append(r.RuleData.PrivateApps, types.StringValue(v)) - } - if len(r.RuleData.PrivateAppsWithActivities) > len(resp.RuleData.PrivateAppsWithActivities) { - r.RuleData.PrivateAppsWithActivities = r.RuleData.PrivateAppsWithActivities[:len(resp.RuleData.PrivateAppsWithActivities)] - } - for privateAppsWithActivitiesCount, privateAppsWithActivitiesItem := range resp.RuleData.PrivateAppsWithActivities { - var privateAppsWithActivities1 PrivateAppsWithActivities - if len(privateAppsWithActivities1.Activities) > len(privateAppsWithActivitiesItem.Activities) { - privateAppsWithActivities1.Activities = privateAppsWithActivities1.Activities[:len(privateAppsWithActivitiesItem.Activities)] + r.RuleData.PrivateAppIds = nil + for _, v := range resp.RuleData.PrivateAppIds { + r.RuleData.PrivateAppIds = append(r.RuleData.PrivateAppIds, types.StringValue(v)) } - for activitiesCount, activitiesItem := range privateAppsWithActivitiesItem.Activities { - var activities1 Activities - if activitiesItem.Activity != nil { - activities1.Activity = types.StringValue(string(*activitiesItem.Activity)) - } else { - activities1.Activity = types.StringNull() - } - activities1.ListOfConstraints = nil - for _, v := range activitiesItem.ListOfConstraints { - activities1.ListOfConstraints = append(activities1.ListOfConstraints, types.StringValue(v)) + r.RuleData.PrivateApps = nil + for _, v := range resp.RuleData.PrivateApps { + r.RuleData.PrivateApps = append(r.RuleData.PrivateApps, types.StringValue(v)) + } + if len(r.RuleData.PrivateAppsWithActivities) > len(resp.RuleData.PrivateAppsWithActivities) { + r.RuleData.PrivateAppsWithActivities = r.RuleData.PrivateAppsWithActivities[:len(resp.RuleData.PrivateAppsWithActivities)] + } + for privateAppsWithActivitiesCount, privateAppsWithActivitiesItem := range resp.RuleData.PrivateAppsWithActivities { + var privateAppsWithActivities1 PrivateAppsWithActivities + for activitiesCount, activitiesItem := range privateAppsWithActivitiesItem.Activities { + var activities1 Activities + if activitiesItem.Activity != nil { + activities1.Activity = types.StringValue(string(*activitiesItem.Activity)) + } else { + activities1.Activity = types.StringNull() + } + activities1.ListOfConstraints = nil + for _, v := range activitiesItem.ListOfConstraints { + activities1.ListOfConstraints = append(activities1.ListOfConstraints, types.StringValue(v)) + } + if activitiesCount+1 > len(privateAppsWithActivities1.Activities) { + privateAppsWithActivities1.Activities = append(privateAppsWithActivities1.Activities, activities1) + } else { + privateAppsWithActivities1.Activities[activitiesCount].Activity = activities1.Activity + privateAppsWithActivities1.Activities[activitiesCount].ListOfConstraints = activities1.ListOfConstraints + } } - if activitiesCount+1 > len(privateAppsWithActivities1.Activities) { - privateAppsWithActivities1.Activities = append(privateAppsWithActivities1.Activities, activities1) + privateAppsWithActivities1.AppName = types.StringPointerValue(privateAppsWithActivitiesItem.AppName) + if privateAppsWithActivitiesCount+1 > len(r.RuleData.PrivateAppsWithActivities) { + r.RuleData.PrivateAppsWithActivities = append(r.RuleData.PrivateAppsWithActivities, privateAppsWithActivities1) } else { - privateAppsWithActivities1.Activities[activitiesCount].Activity = activities1.Activity - privateAppsWithActivities1.Activities[activitiesCount].ListOfConstraints = activities1.ListOfConstraints + r.RuleData.PrivateAppsWithActivities[privateAppsWithActivitiesCount].Activities = privateAppsWithActivities1.Activities + r.RuleData.PrivateAppsWithActivities[privateAppsWithActivitiesCount].AppName = privateAppsWithActivities1.AppName } } - if privateAppsWithActivitiesItem.AppName != nil { - privateAppsWithActivities1.AppName = types.StringValue(*privateAppsWithActivitiesItem.AppName) - } else { - privateAppsWithActivities1.AppName = types.StringNull() + r.RuleData.PrivateAppTagIds = nil + for _, v := range resp.RuleData.PrivateAppTagIds { + r.RuleData.PrivateAppTagIds = append(r.RuleData.PrivateAppTagIds, types.StringValue(v)) + } + r.RuleData.PrivateAppTags = nil + for _, v := range resp.RuleData.PrivateAppTags { + r.RuleData.PrivateAppTags = append(r.RuleData.PrivateAppTags, types.StringValue(v)) + } + r.RuleData.ShowDlpProfileActionTable = types.BoolPointerValue(resp.RuleData.ShowDlpProfileActionTable) + r.RuleData.SrcCountries = nil + for _, v := range resp.RuleData.SrcCountries { + r.RuleData.SrcCountries = append(r.RuleData.SrcCountries, types.StringValue(v)) + } + r.RuleData.UserGroups = nil + for _, v := range resp.RuleData.UserGroups { + r.RuleData.UserGroups = append(r.RuleData.UserGroups, types.StringValue(v)) } - if privateAppsWithActivitiesCount+1 > len(r.RuleData.PrivateAppsWithActivities) { - r.RuleData.PrivateAppsWithActivities = append(r.RuleData.PrivateAppsWithActivities, privateAppsWithActivities1) + r.RuleData.Users = nil + for _, v := range resp.RuleData.Users { + r.RuleData.Users = append(r.RuleData.Users, types.StringValue(v)) + } + if resp.RuleData.UserType != nil { + r.RuleData.UserType = types.StringValue(string(*resp.RuleData.UserType)) } else { - r.RuleData.PrivateAppsWithActivities[privateAppsWithActivitiesCount].Activities = privateAppsWithActivities1.Activities - r.RuleData.PrivateAppsWithActivities[privateAppsWithActivitiesCount].AppName = privateAppsWithActivities1.AppName + r.RuleData.UserType = types.StringNull() } + r.RuleData.Version = types.Int64PointerValue(resp.RuleData.Version) } - r.RuleData.PrivateAppTagIds = nil - for _, v := range resp.RuleData.PrivateAppTagIds { - r.RuleData.PrivateAppTagIds = append(r.RuleData.PrivateAppTagIds, types.StringValue(v)) - } - r.RuleData.PrivateAppTags = nil - for _, v := range resp.RuleData.PrivateAppTags { - r.RuleData.PrivateAppTags = append(r.RuleData.PrivateAppTags, types.StringValue(v)) - } - if resp.RuleData.ShowDlpProfileActionTable != nil { - r.RuleData.ShowDlpProfileActionTable = types.BoolValue(*resp.RuleData.ShowDlpProfileActionTable) - } else { - r.RuleData.ShowDlpProfileActionTable = types.BoolNull() - } - r.RuleData.SrcCountries = nil - for _, v := range resp.RuleData.SrcCountries { - r.RuleData.SrcCountries = append(r.RuleData.SrcCountries, types.StringValue(v)) - } - r.RuleData.UserGroups = nil - for _, v := range resp.RuleData.UserGroups { - r.RuleData.UserGroups = append(r.RuleData.UserGroups, types.StringValue(v)) - } - r.RuleData.Users = nil - for _, v := range resp.RuleData.Users { - r.RuleData.Users = append(r.RuleData.Users, types.StringValue(v)) - } - if resp.RuleData.UserType != nil { - r.RuleData.UserType = types.StringValue(string(*resp.RuleData.UserType)) - } else { - r.RuleData.UserType = types.StringNull() - } - if resp.RuleData.Version != nil { - r.RuleData.Version = types.Int64Value(*resp.RuleData.Version) - } else { - r.RuleData.Version = types.Int64Null() - } - } - if resp.RuleID != nil { - r.RuleID = types.StringValue(*resp.RuleID) - } else { - r.RuleID = types.StringNull() - } - if resp.RuleName != nil { - r.RuleName = types.StringValue(*resp.RuleName) - } else { - r.RuleName = types.StringNull() + r.RuleName = types.StringPointerValue(resp.RuleName) + r.RuleID = types.StringPointerValue(resp.RuleID) } } - -func (r *NPAPolicyResourceModel) RefreshFromCreateResponse(resp *shared.NpaPolicyResponseItem) { - r.RefreshFromGetResponse(resp) -} - -func (r *NPAPolicyResourceModel) RefreshFromUpdateResponse(resp *shared.NpaPolicyResponseItem) { - r.RefreshFromGetResponse(resp) -} diff --git a/internal/provider/npapolicygroup_data_source.go b/internal/provider/npapolicygroup_data_source.go deleted file mode 100644 index fea625b..0000000 --- a/internal/provider/npapolicygroup_data_source.go +++ /dev/null @@ -1,148 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "context" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" - - "github.com/hashicorp/terraform-plugin-framework/datasource" - "github.com/hashicorp/terraform-plugin-framework/datasource/schema" - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/hashicorp/terraform-plugin-framework/types/basetypes" -) - -// Ensure provider defined types fully satisfy framework interfaces. -var _ datasource.DataSource = &NPAPolicyGroupDataSource{} -var _ datasource.DataSourceWithConfigure = &NPAPolicyGroupDataSource{} - -func NewNPAPolicyGroupDataSource() datasource.DataSource { - return &NPAPolicyGroupDataSource{} -} - -// NPAPolicyGroupDataSource is the data source implementation. -type NPAPolicyGroupDataSource struct { - client *sdk.SDK -} - -// NPAPolicyGroupDataSourceModel describes the data model. -type NPAPolicyGroupDataSourceModel struct { - CanBeEditedDeleted types.String `tfsdk:"can_be_edited_deleted"` - GroupID types.String `tfsdk:"group_id"` - GroupName types.String `tfsdk:"group_name"` - GroupPinnedID types.Int64 `tfsdk:"group_pinned_id"` - GroupProdID types.Int64 `tfsdk:"group_prod_id"` - GroupType types.String `tfsdk:"group_type"` - ModifyTime types.String `tfsdk:"modify_time"` - ModifyType types.String `tfsdk:"modify_type"` -} - -// Metadata returns the data source type name. -func (r *NPAPolicyGroupDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) { - resp.TypeName = req.ProviderTypeName + "_npa_policy_group" -} - -// Schema defines the schema for the data source. -func (r *NPAPolicyGroupDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) { - resp.Schema = schema.Schema{ - MarkdownDescription: "NPAPolicyGroup DataSource", - - Attributes: map[string]schema.Attribute{ - "can_be_edited_deleted": schema.StringAttribute{ - Computed: true, - }, - "group_id": schema.StringAttribute{ - Required: true, - Description: `npa policy group id`, - }, - "group_name": schema.StringAttribute{ - Computed: true, - }, - "group_pinned_id": schema.Int64Attribute{ - Computed: true, - }, - "group_prod_id": schema.Int64Attribute{ - Computed: true, - }, - "group_type": schema.StringAttribute{ - Computed: true, - }, - "modify_time": schema.StringAttribute{ - Computed: true, - }, - "modify_type": schema.StringAttribute{ - Computed: true, - }, - }, - } -} - -func (r *NPAPolicyGroupDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) { - // Prevent panic if the provider has not been configured. - if req.ProviderData == nil { - return - } - - client, ok := req.ProviderData.(*sdk.SDK) - - if !ok { - resp.Diagnostics.AddError( - "Unexpected DataSource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), - ) - - return - } - - r.client = client -} - -func (r *NPAPolicyGroupDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) { - var data *NPAPolicyGroupDataSourceModel - var item types.Object - - resp.Diagnostics.Append(req.Config.Get(ctx, &item)...) - if resp.Diagnostics.HasError() { - return - } - - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ - UnhandledNullAsEmpty: true, - UnhandledUnknownAsEmpty: true, - })...) - - if resp.Diagnostics.HasError() { - return - } - - id := data.GroupID.ValueString() - request := operations.GetPolicyNpaPolicygroupsIDRequest{ - ID: id, - } - res, err := r.client.GetPolicyNpaPolicygroupsID(ctx, request) - if err != nil { - resp.Diagnostics.AddError("failure to invoke API", err.Error()) - if res != nil && res.RawResponse != nil { - resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) - } - return - } - if res == nil { - resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) - return - } - if res.StatusCode != 200 { - resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) - return - } - if res.Object == nil || res.Object.Data == nil { - resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) - return - } - data.RefreshFromGetResponse(res.Object.Data) - - // Save updated data into Terraform state - resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) -} diff --git a/internal/provider/npapolicygroup_data_source_sdk.go b/internal/provider/npapolicygroup_data_source_sdk.go deleted file mode 100644 index e023a50..0000000 --- a/internal/provider/npapolicygroup_data_source_sdk.go +++ /dev/null @@ -1,51 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" -) - -func (r *NPAPolicyGroupDataSourceModel) RefreshFromGetResponse(resp *shared.NpaPolicygroupResponseItem) { - if resp.CanBeEditedDeleted != nil { - r.CanBeEditedDeleted = types.StringValue(*resp.CanBeEditedDeleted) - } else { - r.CanBeEditedDeleted = types.StringNull() - } - if resp.GroupID != nil { - r.GroupID = types.StringValue(*resp.GroupID) - } else { - r.GroupID = types.StringNull() - } - if resp.GroupName != nil { - r.GroupName = types.StringValue(*resp.GroupName) - } else { - r.GroupName = types.StringNull() - } - if resp.GroupPinnedID != nil { - r.GroupPinnedID = types.Int64Value(*resp.GroupPinnedID) - } else { - r.GroupPinnedID = types.Int64Null() - } - if resp.GroupProdID != nil { - r.GroupProdID = types.Int64Value(*resp.GroupProdID) - } else { - r.GroupProdID = types.Int64Null() - } - if resp.GroupType != nil { - r.GroupType = types.StringValue(*resp.GroupType) - } else { - r.GroupType = types.StringNull() - } - if resp.ModifyTime != nil { - r.ModifyTime = types.StringValue(*resp.ModifyTime) - } else { - r.ModifyTime = types.StringNull() - } - if resp.ModifyType != nil { - r.ModifyType = types.StringValue(*resp.ModifyType) - } else { - r.ModifyType = types.StringNull() - } -} diff --git a/internal/provider/npapolicygroup_resource.go b/internal/provider/npapolicygroup_resource.go deleted file mode 100644 index 1e0c05c..0000000 --- a/internal/provider/npapolicygroup_resource.go +++ /dev/null @@ -1,289 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "context" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" - - "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" - "github.com/hashicorp/terraform-plugin-framework/path" - "github.com/hashicorp/terraform-plugin-framework/resource" - "github.com/hashicorp/terraform-plugin-framework/resource/schema" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/objectplanmodifier" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" - "github.com/hashicorp/terraform-plugin-framework/schema/validator" - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/hashicorp/terraform-plugin-framework/types/basetypes" -) - -// Ensure provider defined types fully satisfy framework interfaces. -var _ resource.Resource = &NPAPolicyGroupResource{} -var _ resource.ResourceWithImportState = &NPAPolicyGroupResource{} - -func NewNPAPolicyGroupResource() resource.Resource { - return &NPAPolicyGroupResource{} -} - -// NPAPolicyGroupResource defines the resource implementation. -type NPAPolicyGroupResource struct { - client *sdk.SDK -} - -// NPAPolicyGroupResourceModel describes the resource data model. -type NPAPolicyGroupResourceModel struct { - CanBeEditedDeleted types.String `tfsdk:"can_be_edited_deleted"` - GroupID types.String `tfsdk:"group_id"` - GroupName types.String `tfsdk:"group_name"` - GroupOrder GroupOrder `tfsdk:"group_order"` - GroupPinnedID types.Int64 `tfsdk:"group_pinned_id"` - GroupProdID types.Int64 `tfsdk:"group_prod_id"` - GroupType types.String `tfsdk:"group_type"` - ModifyTime types.String `tfsdk:"modify_time"` - ModifyType types.String `tfsdk:"modify_type"` -} - -func (r *NPAPolicyGroupResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) { - resp.TypeName = req.ProviderTypeName + "_npa_policy_group" -} - -func (r *NPAPolicyGroupResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { - resp.Schema = schema.Schema{ - MarkdownDescription: "NPAPolicyGroup Resource", - - Attributes: map[string]schema.Attribute{ - "can_be_edited_deleted": schema.StringAttribute{ - Computed: true, - }, - "group_id": schema.StringAttribute{ - Computed: true, - }, - "group_name": schema.StringAttribute{ - Computed: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.RequiresReplace(), - }, - Optional: true, - }, - "group_order": schema.SingleNestedAttribute{ - PlanModifiers: []planmodifier.Object{ - objectplanmodifier.RequiresReplace(), - }, - Required: true, - Attributes: map[string]schema.Attribute{ - "group_id": schema.StringAttribute{ - PlanModifiers: []planmodifier.String{ - stringplanmodifier.RequiresReplace(), - }, - Required: true, - }, - "order": schema.StringAttribute{ - PlanModifiers: []planmodifier.String{ - stringplanmodifier.RequiresReplace(), - }, - Required: true, - Description: `must be one of ["before", "after"]`, - Validators: []validator.String{ - stringvalidator.OneOf( - "before", - "after", - ), - }, - }, - }, - }, - "group_pinned_id": schema.Int64Attribute{ - Computed: true, - }, - "group_prod_id": schema.Int64Attribute{ - Computed: true, - }, - "group_type": schema.StringAttribute{ - Computed: true, - }, - "modify_time": schema.StringAttribute{ - Computed: true, - }, - "modify_type": schema.StringAttribute{ - Computed: true, - }, - }, - } -} - -func (r *NPAPolicyGroupResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) { - // Prevent panic if the provider has not been configured. - if req.ProviderData == nil { - return - } - - client, ok := req.ProviderData.(*sdk.SDK) - - if !ok { - resp.Diagnostics.AddError( - "Unexpected Resource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), - ) - - return - } - - r.client = client -} - -func (r *NPAPolicyGroupResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { - var data *NPAPolicyGroupResourceModel - var item types.Object - - resp.Diagnostics.Append(req.Plan.Get(ctx, &item)...) - if resp.Diagnostics.HasError() { - return - } - - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ - UnhandledNullAsEmpty: true, - UnhandledUnknownAsEmpty: true, - })...) - - if resp.Diagnostics.HasError() { - return - } - - npaPolicygroupRequest := *data.ToCreateSDKType() - request := operations.PostPolicyNpaPolicygroupsRequest{ - NpaPolicygroupRequest: npaPolicygroupRequest, - } - res, err := r.client.PostPolicyNpaPolicygroups(ctx, request) - if err != nil { - resp.Diagnostics.AddError("failure to invoke API", err.Error()) - if res != nil && res.RawResponse != nil { - resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) - } - return - } - if res == nil { - resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) - return - } - if res.StatusCode != 200 { - resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) - return - } - if res.Object == nil || res.Object.Data == nil { - resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) - return - } - data.RefreshFromCreateResponse(res.Object.Data) - - // Save updated data into Terraform state - resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) -} - -func (r *NPAPolicyGroupResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { - var data *NPAPolicyGroupResourceModel - var item types.Object - - resp.Diagnostics.Append(req.State.Get(ctx, &item)...) - if resp.Diagnostics.HasError() { - return - } - - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ - UnhandledNullAsEmpty: true, - UnhandledUnknownAsEmpty: true, - })...) - - if resp.Diagnostics.HasError() { - return - } - - id := data.GroupID.ValueString() - request := operations.GetPolicyNpaPolicygroupsIDRequest{ - ID: id, - } - res, err := r.client.GetPolicyNpaPolicygroupsID(ctx, request) - if err != nil { - resp.Diagnostics.AddError("failure to invoke API", err.Error()) - if res != nil && res.RawResponse != nil { - resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) - } - return - } - if res == nil { - resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) - return - } - if res.StatusCode != 200 { - resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) - return - } - if res.Object == nil || res.Object.Data == nil { - resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) - return - } - data.RefreshFromGetResponse(res.Object.Data) - - // Save updated data into Terraform state - resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) -} - -func (r *NPAPolicyGroupResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { - var data *NPAPolicyGroupResourceModel - merge(ctx, req, resp, &data) - if resp.Diagnostics.HasError() { - return - } - - // Not Implemented; all attributes marked as RequiresReplace - - // Save updated data into Terraform state - resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) -} - -func (r *NPAPolicyGroupResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { - var data *NPAPolicyGroupResourceModel - var item types.Object - - resp.Diagnostics.Append(req.State.Get(ctx, &item)...) - if resp.Diagnostics.HasError() { - return - } - - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ - UnhandledNullAsEmpty: true, - UnhandledUnknownAsEmpty: true, - })...) - - if resp.Diagnostics.HasError() { - return - } - - id := data.GroupID.ValueString() - request := operations.DeletePolicyNpaPolicygroupsIDRequest{ - ID: id, - } - res, err := r.client.DeletePolicyNpaPolicygroupsID(ctx, request) - if err != nil { - resp.Diagnostics.AddError("failure to invoke API", err.Error()) - if res != nil && res.RawResponse != nil { - resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) - } - return - } - if res == nil { - resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) - return - } - if res.StatusCode != 200 { - resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) - return - } - -} - -func (r *NPAPolicyGroupResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { - resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("group_id"), req.ID)...) -} diff --git a/internal/provider/npapolicygroup_resource_sdk.go b/internal/provider/npapolicygroup_resource_sdk.go deleted file mode 100644 index f76a9e9..0000000 --- a/internal/provider/npapolicygroup_resource_sdk.go +++ /dev/null @@ -1,80 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" -) - -func (r *NPAPolicyGroupResourceModel) ToCreateSDKType() *shared.NpaPolicygroupRequest { - groupName := r.GroupName.ValueString() - groupID := r.GroupOrder.GroupID.ValueString() - order := shared.NpaPolicygroupRequestOrder(r.GroupOrder.Order.ValueString()) - groupOrder := shared.GroupOrder{ - GroupID: groupID, - Order: order, - } - out := shared.NpaPolicygroupRequest{ - GroupName: groupName, - GroupOrder: groupOrder, - } - return &out -} - -func (r *NPAPolicyGroupResourceModel) ToGetSDKType() *shared.NpaPolicygroupRequest { - out := r.ToCreateSDKType() - return out -} - -func (r *NPAPolicyGroupResourceModel) ToDeleteSDKType() *shared.NpaPolicygroupRequest { - out := r.ToCreateSDKType() - return out -} - -func (r *NPAPolicyGroupResourceModel) RefreshFromGetResponse(resp *shared.NpaPolicygroupResponseItem) { - if resp.CanBeEditedDeleted != nil { - r.CanBeEditedDeleted = types.StringValue(*resp.CanBeEditedDeleted) - } else { - r.CanBeEditedDeleted = types.StringNull() - } - if resp.GroupID != nil { - r.GroupID = types.StringValue(*resp.GroupID) - } else { - r.GroupID = types.StringNull() - } - if resp.GroupName != nil { - r.GroupName = types.StringValue(*resp.GroupName) - } else { - r.GroupName = types.StringNull() - } - if resp.GroupPinnedID != nil { - r.GroupPinnedID = types.Int64Value(*resp.GroupPinnedID) - } else { - r.GroupPinnedID = types.Int64Null() - } - if resp.GroupProdID != nil { - r.GroupProdID = types.Int64Value(*resp.GroupProdID) - } else { - r.GroupProdID = types.Int64Null() - } - if resp.GroupType != nil { - r.GroupType = types.StringValue(*resp.GroupType) - } else { - r.GroupType = types.StringNull() - } - if resp.ModifyTime != nil { - r.ModifyTime = types.StringValue(*resp.ModifyTime) - } else { - r.ModifyTime = types.StringNull() - } - if resp.ModifyType != nil { - r.ModifyType = types.StringValue(*resp.ModifyType) - } else { - r.ModifyType = types.StringNull() - } -} - -func (r *NPAPolicyGroupResourceModel) RefreshFromCreateResponse(resp *shared.NpaPolicygroupResponseItem) { - r.RefreshFromGetResponse(resp) -} diff --git a/internal/provider/npapolicylist_data_source.go b/internal/provider/npapolicylist_data_source.go index cac6653..009fe89 100644 --- a/internal/provider/npapolicylist_data_source.go +++ b/internal/provider/npapolicylist_data_source.go @@ -5,13 +5,12 @@ package provider import ( "context" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" - "github.com/hashicorp/terraform-plugin-framework/datasource" "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -24,7 +23,7 @@ func NewNPAPolicyListDataSource() datasource.DataSource { // NPAPolicyListDataSource is the data source implementation. type NPAPolicyListDataSource struct { - client *sdk.SDK + client *sdk.TerraformProviderNs } // NPAPolicyListDataSourceModel describes the data model. @@ -113,14 +112,6 @@ func (r *NPAPolicyListDataSource) Schema(ctx context.Context, req datasource.Sch Computed: true, ElementType: types.StringType, }, - "private_app_tag_ids": schema.ListAttribute{ - Computed: true, - ElementType: types.StringType, - }, - "private_app_tags": schema.ListAttribute{ - Computed: true, - ElementType: types.StringType, - }, "private_apps": schema.ListAttribute{ Computed: true, ElementType: types.StringType, @@ -150,6 +141,14 @@ func (r *NPAPolicyListDataSource) Schema(ctx context.Context, req datasource.Sch }, }, }, + "private_app_tag_ids": schema.ListAttribute{ + Computed: true, + ElementType: types.StringType, + }, + "private_app_tags": schema.ListAttribute{ + Computed: true, + ElementType: types.StringType, + }, "show_dlp_profile_action_table": schema.BoolAttribute{ Computed: true, }, @@ -161,14 +160,14 @@ func (r *NPAPolicyListDataSource) Schema(ctx context.Context, req datasource.Sch Computed: true, ElementType: types.StringType, }, - "user_type": schema.StringAttribute{ - Computed: true, - Description: `must be one of ["user"]`, - }, "users": schema.ListAttribute{ Computed: true, ElementType: types.StringType, }, + "user_type": schema.StringAttribute{ + Computed: true, + Description: `must be one of ["user"]`, + }, "version": schema.Int64Attribute{ Computed: true, }, @@ -213,12 +212,12 @@ func (r *NPAPolicyListDataSource) Configure(ctx context.Context, req datasource. return } - client, ok := req.ProviderData.(*sdk.SDK) + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) if !ok { resp.Diagnostics.AddError( "Unexpected DataSource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), ) return @@ -302,7 +301,7 @@ func (r *NPAPolicyListDataSource) Read(ctx context.Context, req datasource.ReadR resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) return } - data.RefreshFromGetResponse(res.NpaPolicyListResponse) + data.RefreshFromSharedNpaPolicyListResponse(res.NpaPolicyListResponse) // Save updated data into Terraform state resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) diff --git a/internal/provider/npapolicylist_data_source_sdk.go b/internal/provider/npapolicylist_data_source_sdk.go index 8803bf0..96722b4 100644 --- a/internal/provider/npapolicylist_data_source_sdk.go +++ b/internal/provider/npapolicylist_data_source_sdk.go @@ -4,190 +4,139 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" ) -func (r *NPAPolicyListDataSourceModel) RefreshFromGetResponse(resp *shared.NpaPolicyListResponse) { - if len(r.Data) > len(resp.Data) { - r.Data = r.Data[:len(resp.Data)] - } - for dataCount, dataItem := range resp.Data { - var data1 NpaPolicyResponseItem - if dataItem.RuleData == nil { - data1.RuleData = nil - } else { - data1.RuleData = &NpaPolicyRuleData{} - data1.RuleData.AccessMethod = nil - for _, v := range dataItem.RuleData.AccessMethod { - data1.RuleData.AccessMethod = append(data1.RuleData.AccessMethod, types.StringValue(v)) - } - if dataItem.RuleData.BNegateNetLocation != nil { - data1.RuleData.BNegateNetLocation = types.BoolValue(*dataItem.RuleData.BNegateNetLocation) - } else { - data1.RuleData.BNegateNetLocation = types.BoolNull() - } - if dataItem.RuleData.BNegateSrcCountries != nil { - data1.RuleData.BNegateSrcCountries = types.BoolValue(*dataItem.RuleData.BNegateSrcCountries) - } else { - data1.RuleData.BNegateSrcCountries = types.BoolNull() - } - if dataItem.RuleData.Classification != nil { - data1.RuleData.Classification = types.StringValue(*dataItem.RuleData.Classification) +func (r *NPAPolicyListDataSourceModel) RefreshFromSharedNpaPolicyListResponse(resp *shared.NpaPolicyListResponse) { + if resp != nil { + if len(r.Data) > len(resp.Data) { + r.Data = r.Data[:len(resp.Data)] + } + for dataCount, dataItem := range resp.Data { + var data1 NpaPolicyResponseItem + if dataItem.RuleData == nil { + data1.RuleData = nil } else { - data1.RuleData.Classification = types.StringNull() - } - if len(data1.RuleData.DlpActions) > len(dataItem.RuleData.DlpActions) { - data1.RuleData.DlpActions = data1.RuleData.DlpActions[:len(dataItem.RuleData.DlpActions)] - } - for dlpActionsCount, dlpActionsItem := range dataItem.RuleData.DlpActions { - var dlpActions1 NpaPolicyRuleDlp - dlpActions1.Actions = nil - for _, v := range dlpActionsItem.Actions { - dlpActions1.Actions = append(dlpActions1.Actions, types.StringValue(string(v))) + data1.RuleData = &NpaPolicyRuleData{} + data1.RuleData.AccessMethod = nil + for _, v := range dataItem.RuleData.AccessMethod { + data1.RuleData.AccessMethod = append(data1.RuleData.AccessMethod, types.StringValue(v)) } - if dlpActionsItem.DlpProfile != nil { - dlpActions1.DlpProfile = types.StringValue(*dlpActionsItem.DlpProfile) - } else { - dlpActions1.DlpProfile = types.StringNull() + data1.RuleData.BNegateNetLocation = types.BoolPointerValue(dataItem.RuleData.BNegateNetLocation) + data1.RuleData.BNegateSrcCountries = types.BoolPointerValue(dataItem.RuleData.BNegateSrcCountries) + data1.RuleData.Classification = types.StringPointerValue(dataItem.RuleData.Classification) + for dlpActionsCount, dlpActionsItem := range dataItem.RuleData.DlpActions { + var dlpActions1 NpaPolicyRuleDlp + dlpActions1.Actions = nil + for _, v := range dlpActionsItem.Actions { + dlpActions1.Actions = append(dlpActions1.Actions, types.StringValue(string(v))) + } + dlpActions1.DlpProfile = types.StringPointerValue(dlpActionsItem.DlpProfile) + if dlpActionsCount+1 > len(data1.RuleData.DlpActions) { + data1.RuleData.DlpActions = append(data1.RuleData.DlpActions, dlpActions1) + } else { + data1.RuleData.DlpActions[dlpActionsCount].Actions = dlpActions1.Actions + data1.RuleData.DlpActions[dlpActionsCount].DlpProfile = dlpActions1.DlpProfile + } } - if dlpActionsCount+1 > len(data1.RuleData.DlpActions) { - data1.RuleData.DlpActions = append(data1.RuleData.DlpActions, dlpActions1) + data1.RuleData.ExternalDlp = types.BoolPointerValue(dataItem.RuleData.ExternalDlp) + data1.RuleData.JSONVersion = types.Int64PointerValue(dataItem.RuleData.JSONVersion) + if dataItem.RuleData.MatchCriteriaAction == nil { + data1.RuleData.MatchCriteriaAction = nil } else { - data1.RuleData.DlpActions[dlpActionsCount].Actions = dlpActions1.Actions - data1.RuleData.DlpActions[dlpActionsCount].DlpProfile = dlpActions1.DlpProfile + data1.RuleData.MatchCriteriaAction = &MatchCriteriaAction{} + if dataItem.RuleData.MatchCriteriaAction.ActionName != nil { + data1.RuleData.MatchCriteriaAction.ActionName = types.StringValue(string(*dataItem.RuleData.MatchCriteriaAction.ActionName)) + } else { + data1.RuleData.MatchCriteriaAction.ActionName = types.StringNull() + } } - } - if dataItem.RuleData.ExternalDlp != nil { - data1.RuleData.ExternalDlp = types.BoolValue(*dataItem.RuleData.ExternalDlp) - } else { - data1.RuleData.ExternalDlp = types.BoolNull() - } - if dataItem.RuleData.JSONVersion != nil { - data1.RuleData.JSONVersion = types.Int64Value(*dataItem.RuleData.JSONVersion) - } else { - data1.RuleData.JSONVersion = types.Int64Null() - } - if dataItem.RuleData.MatchCriteriaAction == nil { - data1.RuleData.MatchCriteriaAction = nil - } else { - data1.RuleData.MatchCriteriaAction = &MatchCriteriaAction{} - if dataItem.RuleData.MatchCriteriaAction.ActionName != nil { - data1.RuleData.MatchCriteriaAction.ActionName = types.StringValue(string(*dataItem.RuleData.MatchCriteriaAction.ActionName)) + data1.RuleData.NetLocationObj = nil + for _, v := range dataItem.RuleData.NetLocationObj { + data1.RuleData.NetLocationObj = append(data1.RuleData.NetLocationObj, types.StringValue(v)) + } + data1.RuleData.OrganizationUnits = nil + for _, v := range dataItem.RuleData.OrganizationUnits { + data1.RuleData.OrganizationUnits = append(data1.RuleData.OrganizationUnits, types.StringValue(v)) + } + if dataItem.RuleData.PolicyType != nil { + data1.RuleData.PolicyType = types.StringValue(string(*dataItem.RuleData.PolicyType)) } else { - data1.RuleData.MatchCriteriaAction.ActionName = types.StringNull() + data1.RuleData.PolicyType = types.StringNull() } - } - data1.RuleData.NetLocationObj = nil - for _, v := range dataItem.RuleData.NetLocationObj { - data1.RuleData.NetLocationObj = append(data1.RuleData.NetLocationObj, types.StringValue(v)) - } - data1.RuleData.OrganizationUnits = nil - for _, v := range dataItem.RuleData.OrganizationUnits { - data1.RuleData.OrganizationUnits = append(data1.RuleData.OrganizationUnits, types.StringValue(v)) - } - if dataItem.RuleData.PolicyType != nil { - data1.RuleData.PolicyType = types.StringValue(string(*dataItem.RuleData.PolicyType)) - } else { - data1.RuleData.PolicyType = types.StringNull() - } - data1.RuleData.PrivateAppIds = nil - for _, v := range dataItem.RuleData.PrivateAppIds { - data1.RuleData.PrivateAppIds = append(data1.RuleData.PrivateAppIds, types.StringValue(v)) - } - data1.RuleData.PrivateAppTagIds = nil - for _, v := range dataItem.RuleData.PrivateAppTagIds { - data1.RuleData.PrivateAppTagIds = append(data1.RuleData.PrivateAppTagIds, types.StringValue(v)) - } - data1.RuleData.PrivateAppTags = nil - for _, v := range dataItem.RuleData.PrivateAppTags { - data1.RuleData.PrivateAppTags = append(data1.RuleData.PrivateAppTags, types.StringValue(v)) - } - data1.RuleData.PrivateApps = nil - for _, v := range dataItem.RuleData.PrivateApps { - data1.RuleData.PrivateApps = append(data1.RuleData.PrivateApps, types.StringValue(v)) - } - if len(data1.RuleData.PrivateAppsWithActivities) > len(dataItem.RuleData.PrivateAppsWithActivities) { - data1.RuleData.PrivateAppsWithActivities = data1.RuleData.PrivateAppsWithActivities[:len(dataItem.RuleData.PrivateAppsWithActivities)] - } - for privateAppsWithActivitiesCount, privateAppsWithActivitiesItem := range dataItem.RuleData.PrivateAppsWithActivities { - var privateAppsWithActivities1 PrivateAppsWithActivities - if len(privateAppsWithActivities1.Activities) > len(privateAppsWithActivitiesItem.Activities) { - privateAppsWithActivities1.Activities = privateAppsWithActivities1.Activities[:len(privateAppsWithActivitiesItem.Activities)] + data1.RuleData.PrivateAppIds = nil + for _, v := range dataItem.RuleData.PrivateAppIds { + data1.RuleData.PrivateAppIds = append(data1.RuleData.PrivateAppIds, types.StringValue(v)) } - for activitiesCount, activitiesItem := range privateAppsWithActivitiesItem.Activities { - var activities1 Activities - if activitiesItem.Activity != nil { - activities1.Activity = types.StringValue(string(*activitiesItem.Activity)) - } else { - activities1.Activity = types.StringNull() - } - activities1.ListOfConstraints = nil - for _, v := range activitiesItem.ListOfConstraints { - activities1.ListOfConstraints = append(activities1.ListOfConstraints, types.StringValue(v)) + data1.RuleData.PrivateApps = nil + for _, v := range dataItem.RuleData.PrivateApps { + data1.RuleData.PrivateApps = append(data1.RuleData.PrivateApps, types.StringValue(v)) + } + for privateAppsWithActivitiesCount, privateAppsWithActivitiesItem := range dataItem.RuleData.PrivateAppsWithActivities { + var privateAppsWithActivities1 PrivateAppsWithActivities + for activitiesCount, activitiesItem := range privateAppsWithActivitiesItem.Activities { + var activities1 Activities + if activitiesItem.Activity != nil { + activities1.Activity = types.StringValue(string(*activitiesItem.Activity)) + } else { + activities1.Activity = types.StringNull() + } + activities1.ListOfConstraints = nil + for _, v := range activitiesItem.ListOfConstraints { + activities1.ListOfConstraints = append(activities1.ListOfConstraints, types.StringValue(v)) + } + if activitiesCount+1 > len(privateAppsWithActivities1.Activities) { + privateAppsWithActivities1.Activities = append(privateAppsWithActivities1.Activities, activities1) + } else { + privateAppsWithActivities1.Activities[activitiesCount].Activity = activities1.Activity + privateAppsWithActivities1.Activities[activitiesCount].ListOfConstraints = activities1.ListOfConstraints + } } - if activitiesCount+1 > len(privateAppsWithActivities1.Activities) { - privateAppsWithActivities1.Activities = append(privateAppsWithActivities1.Activities, activities1) + privateAppsWithActivities1.AppName = types.StringPointerValue(privateAppsWithActivitiesItem.AppName) + if privateAppsWithActivitiesCount+1 > len(data1.RuleData.PrivateAppsWithActivities) { + data1.RuleData.PrivateAppsWithActivities = append(data1.RuleData.PrivateAppsWithActivities, privateAppsWithActivities1) } else { - privateAppsWithActivities1.Activities[activitiesCount].Activity = activities1.Activity - privateAppsWithActivities1.Activities[activitiesCount].ListOfConstraints = activities1.ListOfConstraints + data1.RuleData.PrivateAppsWithActivities[privateAppsWithActivitiesCount].Activities = privateAppsWithActivities1.Activities + data1.RuleData.PrivateAppsWithActivities[privateAppsWithActivitiesCount].AppName = privateAppsWithActivities1.AppName } } - if privateAppsWithActivitiesItem.AppName != nil { - privateAppsWithActivities1.AppName = types.StringValue(*privateAppsWithActivitiesItem.AppName) - } else { - privateAppsWithActivities1.AppName = types.StringNull() + data1.RuleData.PrivateAppTagIds = nil + for _, v := range dataItem.RuleData.PrivateAppTagIds { + data1.RuleData.PrivateAppTagIds = append(data1.RuleData.PrivateAppTagIds, types.StringValue(v)) + } + data1.RuleData.PrivateAppTags = nil + for _, v := range dataItem.RuleData.PrivateAppTags { + data1.RuleData.PrivateAppTags = append(data1.RuleData.PrivateAppTags, types.StringValue(v)) + } + data1.RuleData.ShowDlpProfileActionTable = types.BoolPointerValue(dataItem.RuleData.ShowDlpProfileActionTable) + data1.RuleData.SrcCountries = nil + for _, v := range dataItem.RuleData.SrcCountries { + data1.RuleData.SrcCountries = append(data1.RuleData.SrcCountries, types.StringValue(v)) } - if privateAppsWithActivitiesCount+1 > len(data1.RuleData.PrivateAppsWithActivities) { - data1.RuleData.PrivateAppsWithActivities = append(data1.RuleData.PrivateAppsWithActivities, privateAppsWithActivities1) + data1.RuleData.UserGroups = nil + for _, v := range dataItem.RuleData.UserGroups { + data1.RuleData.UserGroups = append(data1.RuleData.UserGroups, types.StringValue(v)) + } + data1.RuleData.Users = nil + for _, v := range dataItem.RuleData.Users { + data1.RuleData.Users = append(data1.RuleData.Users, types.StringValue(v)) + } + if dataItem.RuleData.UserType != nil { + data1.RuleData.UserType = types.StringValue(string(*dataItem.RuleData.UserType)) } else { - data1.RuleData.PrivateAppsWithActivities[privateAppsWithActivitiesCount].Activities = privateAppsWithActivities1.Activities - data1.RuleData.PrivateAppsWithActivities[privateAppsWithActivitiesCount].AppName = privateAppsWithActivities1.AppName + data1.RuleData.UserType = types.StringNull() } + data1.RuleData.Version = types.Int64PointerValue(dataItem.RuleData.Version) } - if dataItem.RuleData.ShowDlpProfileActionTable != nil { - data1.RuleData.ShowDlpProfileActionTable = types.BoolValue(*dataItem.RuleData.ShowDlpProfileActionTable) - } else { - data1.RuleData.ShowDlpProfileActionTable = types.BoolNull() - } - data1.RuleData.SrcCountries = nil - for _, v := range dataItem.RuleData.SrcCountries { - data1.RuleData.SrcCountries = append(data1.RuleData.SrcCountries, types.StringValue(v)) - } - data1.RuleData.UserGroups = nil - for _, v := range dataItem.RuleData.UserGroups { - data1.RuleData.UserGroups = append(data1.RuleData.UserGroups, types.StringValue(v)) - } - if dataItem.RuleData.UserType != nil { - data1.RuleData.UserType = types.StringValue(string(*dataItem.RuleData.UserType)) + data1.RuleID = types.StringPointerValue(dataItem.RuleID) + data1.RuleName = types.StringPointerValue(dataItem.RuleName) + if dataCount+1 > len(r.Data) { + r.Data = append(r.Data, data1) } else { - data1.RuleData.UserType = types.StringNull() + r.Data[dataCount].RuleData = data1.RuleData + r.Data[dataCount].RuleID = data1.RuleID + r.Data[dataCount].RuleName = data1.RuleName } - data1.RuleData.Users = nil - for _, v := range dataItem.RuleData.Users { - data1.RuleData.Users = append(data1.RuleData.Users, types.StringValue(v)) - } - if dataItem.RuleData.Version != nil { - data1.RuleData.Version = types.Int64Value(*dataItem.RuleData.Version) - } else { - data1.RuleData.Version = types.Int64Null() - } - } - if dataItem.RuleID != nil { - data1.RuleID = types.StringValue(*dataItem.RuleID) - } else { - data1.RuleID = types.StringNull() - } - if dataItem.RuleName != nil { - data1.RuleName = types.StringValue(*dataItem.RuleName) - } else { - data1.RuleName = types.StringNull() - } - if dataCount+1 > len(r.Data) { - r.Data = append(r.Data, data1) - } else { - r.Data[dataCount].RuleData = data1.RuleData - r.Data[dataCount].RuleID = data1.RuleID - r.Data[dataCount].RuleName = data1.RuleName } } } diff --git a/internal/provider/npapublishers_data_source.go b/internal/provider/npapublishers_data_source.go index 246221c..41b800d 100644 --- a/internal/provider/npapublishers_data_source.go +++ b/internal/provider/npapublishers_data_source.go @@ -5,13 +5,12 @@ package provider import ( "context" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" - "github.com/hashicorp/terraform-plugin-framework/datasource" "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -24,7 +23,7 @@ func NewNPAPublishersDataSource() datasource.DataSource { // NPAPublishersDataSource is the data source implementation. type NPAPublishersDataSource struct { - client *sdk.SDK + client *sdk.TerraformProviderNs } // NPAPublishersDataSourceModel describes the data model. @@ -105,12 +104,12 @@ func (r *NPAPublishersDataSource) Configure(ctx context.Context, req datasource. return } - client, ok := req.ProviderData.(*sdk.SDK) + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) if !ok { resp.Diagnostics.AddError( "Unexpected DataSource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), ) return @@ -157,11 +156,11 @@ func (r *NPAPublishersDataSource) Read(ctx context.Context, req datasource.ReadR resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return } - if res.PublisherResponse == nil || res.PublisherResponse.Data == nil { + if res.PublisherResponse == nil { resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) return } - data.RefreshFromGetResponse(res.PublisherResponse.Data) + data.RefreshFromSharedPublisherResponseData(res.PublisherResponse.Data) // Save updated data into Terraform state resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) diff --git a/internal/provider/npapublishers_data_source_sdk.go b/internal/provider/npapublishers_data_source_sdk.go index 88cd61f..cb158b6 100644 --- a/internal/provider/npapublishers_data_source_sdk.go +++ b/internal/provider/npapublishers_data_source_sdk.go @@ -5,76 +5,58 @@ package provider import ( "encoding/json" "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" ) -func (r *NPAPublishersDataSourceModel) RefreshFromGetResponse(resp *shared.PublisherResponseData) { - if resp.Assessment == nil { - r.Assessment = types.StringNull() - } else { - assessmentResult, _ := json.Marshal(resp.Assessment) - r.Assessment = types.StringValue(string(assessmentResult)) - } - if resp.CommonName != nil { - r.CommonName = types.StringValue(*resp.CommonName) - } else { - r.CommonName = types.StringNull() - } - if resp.ID != nil { - r.ID = types.Int64Value(int64(*resp.ID)) - } else { - r.ID = types.Int64Null() - } - if resp.Lbrokerconnect != nil { - r.Lbrokerconnect = types.BoolValue(*resp.Lbrokerconnect) - } else { - r.Lbrokerconnect = types.BoolNull() - } - if resp.Name != nil { - r.Name = types.StringValue(*resp.Name) - } else { - r.Name = types.StringNull() - } - if resp.PublisherUpgradeProfileID != nil { - r.PublisherUpgradeProfileID = types.Int64Value(int64(*resp.PublisherUpgradeProfileID)) - } else { - r.PublisherUpgradeProfileID = types.Int64Null() - } - if resp.Registered != nil { - r.Registered = types.BoolValue(*resp.Registered) - } else { - r.Registered = types.BoolNull() - } - if resp.Status != nil { - r.Status = types.StringValue(string(*resp.Status)) - } else { - r.Status = types.StringNull() - } - if resp.StitcherID != nil { - r.StitcherID = types.Int64Value(int64(*resp.StitcherID)) - } else { - r.StitcherID = types.Int64Null() - } - if len(r.Tags) > len(resp.Tags) { - r.Tags = r.Tags[:len(resp.Tags)] - } - for tagsCount, tagsItem := range resp.Tags { - var tags1 TagItem - if tagsItem.TagID != nil { - tags1.TagID = types.Int64Value(int64(*tagsItem.TagID)) +func (r *NPAPublishersDataSourceModel) RefreshFromSharedPublisherResponseData(resp *shared.PublisherResponseData) { + if resp != nil { + if resp.Assessment == nil { + r.Assessment = types.StringNull() + } else { + assessmentResult, _ := json.Marshal(resp.Assessment) + r.Assessment = types.StringValue(string(assessmentResult)) + } + r.CommonName = types.StringPointerValue(resp.CommonName) + if resp.ID != nil { + r.ID = types.Int64Value(int64(*resp.ID)) } else { - tags1.TagID = types.Int64Null() + r.ID = types.Int64Null() } - if tagsItem.TagName != nil { - tags1.TagName = types.StringValue(*tagsItem.TagName) + r.Lbrokerconnect = types.BoolPointerValue(resp.Lbrokerconnect) + r.Name = types.StringPointerValue(resp.Name) + if resp.PublisherUpgradeProfileID != nil { + r.PublisherUpgradeProfileID = types.Int64Value(int64(*resp.PublisherUpgradeProfileID)) } else { - tags1.TagName = types.StringNull() + r.PublisherUpgradeProfileID = types.Int64Null() } - if tagsCount+1 > len(r.Tags) { - r.Tags = append(r.Tags, tags1) + r.Registered = types.BoolPointerValue(resp.Registered) + if resp.Status != nil { + r.Status = types.StringValue(string(*resp.Status)) } else { - r.Tags[tagsCount].TagID = tags1.TagID - r.Tags[tagsCount].TagName = tags1.TagName + r.Status = types.StringNull() + } + if resp.StitcherID != nil { + r.StitcherID = types.Int64Value(int64(*resp.StitcherID)) + } else { + r.StitcherID = types.Int64Null() + } + if len(r.Tags) > len(resp.Tags) { + r.Tags = r.Tags[:len(resp.Tags)] + } + for tagsCount, tagsItem := range resp.Tags { + var tags1 TagItem + if tagsItem.TagID != nil { + tags1.TagID = types.Int64Value(int64(*tagsItem.TagID)) + } else { + tags1.TagID = types.Int64Null() + } + tags1.TagName = types.StringPointerValue(tagsItem.TagName) + if tagsCount+1 > len(r.Tags) { + r.Tags = append(r.Tags, tags1) + } else { + r.Tags[tagsCount].TagID = tags1.TagID + r.Tags[tagsCount].TagName = tags1.TagName + } } } } diff --git a/internal/provider/npapublishers_resource.go b/internal/provider/npapublishers_resource.go index 8d21ea8..6865032 100644 --- a/internal/provider/npapublishers_resource.go +++ b/internal/provider/npapublishers_resource.go @@ -5,19 +5,21 @@ package provider import ( "context" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" - "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/booldefault" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64default" "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64planmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringdefault" "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" - "github.com/netskope/terraform-provider-ns/internal/validators" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/validators" "strconv" ) @@ -31,7 +33,7 @@ func NewNPAPublishersResource() resource.Resource { // NPAPublishersResource defines the resource implementation. type NPAPublishersResource struct { - client *sdk.SDK + client *sdk.TerraformProviderNs } // NPAPublishersResourceModel describes the resource data model. @@ -69,25 +71,32 @@ func (r *NPAPublishersResource) Schema(ctx context.Context, req resource.SchemaR Computed: true, }, "id": schema.Int64Attribute{ - Computed: true, + Computed: true, + Description: `publisher id`, }, "lbrokerconnect": schema.BoolAttribute{ - Computed: true, - Optional: true, + Computed: true, + Optional: true, + Default: booldefault.StaticBool(false), + Description: `Default: false`, }, "name": schema.StringAttribute{ - Computed: true, - Optional: true, + Computed: true, + Optional: true, + Default: stringdefault.StaticString("publisher_name"), + Description: `Default: "publisher_name"`, }, "publisher_upgrade_profile_id": schema.Int64Attribute{ Computed: true, }, "publisher_upgrade_profiles_id": schema.Int64Attribute{ + Computed: true, PlanModifiers: []planmodifier.Int64{ - int64planmodifier.RequiresReplace(), + int64planmodifier.RequiresReplaceIfConfigured(), }, Optional: true, - Description: `Default: 1`, + Default: int64default.StaticInt64(1), + Description: `Requires replacement if changed. ; Default: 1`, }, "registered": schema.BoolAttribute{ Computed: true, @@ -114,8 +123,10 @@ func (r *NPAPublishersResource) Schema(ctx context.Context, req resource.SchemaR Computed: true, }, "tag_name": schema.StringAttribute{ - Computed: true, - Optional: true, + Computed: true, + Optional: true, + Default: stringdefault.StaticString("tag_name"), + Description: `Default: "tag_name"`, }, }, }, @@ -130,12 +141,12 @@ func (r *NPAPublishersResource) Configure(ctx context.Context, req resource.Conf return } - client, ok := req.ProviderData.(*sdk.SDK) + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) if !ok { resp.Diagnostics.AddError( "Unexpected Resource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), ) return @@ -146,14 +157,14 @@ func (r *NPAPublishersResource) Configure(ctx context.Context, req resource.Conf func (r *NPAPublishersResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { var data *NPAPublishersResourceModel - var item types.Object + var plan types.Object - resp.Diagnostics.Append(req.Plan.Get(ctx, &item)...) + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) if resp.Diagnostics.HasError() { return } - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + resp.Diagnostics.Append(plan.As(ctx, &data, basetypes.ObjectAsOptions{ UnhandledNullAsEmpty: true, UnhandledUnknownAsEmpty: true, })...) @@ -162,7 +173,7 @@ func (r *NPAPublishersResource) Create(ctx context.Context, req resource.CreateR return } - publisherPostRequest := *data.ToCreateSDKType() + publisherPostRequest := *data.ToSharedPublisherPostRequest() request := operations.PostInfrastructurePublishersRequest{ PublisherPostRequest: publisherPostRequest, } @@ -182,11 +193,38 @@ func (r *NPAPublishersResource) Create(ctx context.Context, req resource.CreateR resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return } - if res.PublisherResponse == nil || res.PublisherResponse.Data == nil { + if res.PublisherResponse == nil { resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) return } - data.RefreshFromCreateResponse(res.PublisherResponse.Data) + data.RefreshFromSharedPublisherResponseData(res.PublisherResponse.Data) + refreshPlan(ctx, plan, &data, resp.Diagnostics) + publisherID := int(data.ID.ValueInt64()) + request1 := operations.GetInfrastructurePublishersPublisherIDRequest{ + PublisherID: publisherID, + } + res1, err := r.client.NPAPublishers.Read(ctx, request1) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res1 != nil && res1.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res1.RawResponse)) + } + return + } + if res1 == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res1)) + return + } + if res1.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res1.StatusCode), debugResponse(res1.RawResponse)) + return + } + if res1.PublisherResponse == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res1.RawResponse)) + return + } + data.RefreshFromSharedPublisherResponseData(res1.PublisherResponse.Data) + refreshPlan(ctx, plan, &data, resp.Diagnostics) // Save updated data into Terraform state resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) @@ -230,11 +268,11 @@ func (r *NPAPublishersResource) Read(ctx context.Context, req resource.ReadReque resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return } - if res.PublisherResponse == nil || res.PublisherResponse.Data == nil { + if res.PublisherResponse == nil { resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) return } - data.RefreshFromGetResponse(res.PublisherResponse.Data) + data.RefreshFromSharedPublisherResponseData(res.PublisherResponse.Data) // Save updated data into Terraform state resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) @@ -242,13 +280,20 @@ func (r *NPAPublishersResource) Read(ctx context.Context, req resource.ReadReque func (r *NPAPublishersResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { var data *NPAPublishersResourceModel + var plan types.Object + + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + merge(ctx, req, resp, &data) if resp.Diagnostics.HasError() { return } publisherID := int(data.ID.ValueInt64()) - publisherPutRequest := *data.ToUpdateSDKType() + publisherPutRequest := *data.ToSharedPublisherPutRequest() request := operations.PutInfrastructurePublishersPublisherIDRequest{ PublisherID: publisherID, PublisherPutRequest: publisherPutRequest, @@ -269,11 +314,38 @@ func (r *NPAPublishersResource) Update(ctx context.Context, req resource.UpdateR resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return } - if res.PublisherResponse == nil || res.PublisherResponse.Data == nil { + if res.PublisherResponse == nil { resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) return } - data.RefreshFromUpdateResponse(res.PublisherResponse.Data) + data.RefreshFromSharedPublisherResponseData(res.PublisherResponse.Data) + refreshPlan(ctx, plan, &data, resp.Diagnostics) + publisherId1 := int(data.ID.ValueInt64()) + request1 := operations.GetInfrastructurePublishersPublisherIDRequest{ + PublisherID: publisherId1, + } + res1, err := r.client.NPAPublishers.Read(ctx, request1) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res1 != nil && res1.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res1.RawResponse)) + } + return + } + if res1 == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res1)) + return + } + if res1.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res1.StatusCode), debugResponse(res1.RawResponse)) + return + } + if res1.PublisherResponse == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res1.RawResponse)) + return + } + data.RefreshFromSharedPublisherResponseData(res1.PublisherResponse.Data) + refreshPlan(ctx, plan, &data, resp.Diagnostics) // Save updated data into Terraform state resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) @@ -321,10 +393,10 @@ func (r *NPAPublishersResource) Delete(ctx context.Context, req resource.DeleteR } func (r *NPAPublishersResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { - id, err := strconv.Atoi(req.ID) + id2, err := strconv.Atoi(req.ID) if err != nil { resp.Diagnostics.AddError("Invalid ID", fmt.Sprintf("ID must be an integer but was %s", req.ID)) } - resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("id"), int64(id))...) + resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("id"), int64(id2))...) } diff --git a/internal/provider/npapublishers_resource_sdk.go b/internal/provider/npapublishers_resource_sdk.go index 676132a..940cb29 100644 --- a/internal/provider/npapublishers_resource_sdk.go +++ b/internal/provider/npapublishers_resource_sdk.go @@ -5,27 +5,21 @@ package provider import ( "encoding/json" "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" ) -func (r *NPAPublishersResourceModel) ToCreateSDKType() *shared.PublisherPostRequest { - lbrokerconnect := new(bool) - if !r.Lbrokerconnect.IsUnknown() && !r.Lbrokerconnect.IsNull() { - *lbrokerconnect = r.Lbrokerconnect.ValueBool() - } else { - lbrokerconnect = nil - } +func (r *NPAPublishersResourceModel) ToSharedPublisherPostRequest() *shared.PublisherPostRequest { name := new(string) if !r.Name.IsUnknown() && !r.Name.IsNull() { *name = r.Name.ValueString() } else { name = nil } - publisherUpgradeProfilesID := new(int) - if !r.PublisherUpgradeProfilesID.IsUnknown() && !r.PublisherUpgradeProfilesID.IsNull() { - *publisherUpgradeProfilesID = int(r.PublisherUpgradeProfilesID.ValueInt64()) + lbrokerconnect := new(bool) + if !r.Lbrokerconnect.IsUnknown() && !r.Lbrokerconnect.IsNull() { + *lbrokerconnect = r.Lbrokerconnect.ValueBool() } else { - publisherUpgradeProfilesID = nil + lbrokerconnect = nil } var tags []shared.TagItemNoID = nil for _, tagsItem := range r.Tags { @@ -39,21 +33,81 @@ func (r *NPAPublishersResourceModel) ToCreateSDKType() *shared.PublisherPostRequ TagName: tagName, }) } + publisherUpgradeProfilesID := new(int) + if !r.PublisherUpgradeProfilesID.IsUnknown() && !r.PublisherUpgradeProfilesID.IsNull() { + *publisherUpgradeProfilesID = int(r.PublisherUpgradeProfilesID.ValueInt64()) + } else { + publisherUpgradeProfilesID = nil + } out := shared.PublisherPostRequest{ - Lbrokerconnect: lbrokerconnect, Name: name, - PublisherUpgradeProfilesID: publisherUpgradeProfilesID, + Lbrokerconnect: lbrokerconnect, Tags: tags, + PublisherUpgradeProfilesID: publisherUpgradeProfilesID, } return &out } -func (r *NPAPublishersResourceModel) ToGetSDKType() *shared.PublisherPostRequest { - out := r.ToCreateSDKType() - return out +func (r *NPAPublishersResourceModel) RefreshFromSharedPublisherResponseData(resp *shared.PublisherResponseData) { + if resp != nil { + if resp.Assessment == nil { + r.Assessment = types.StringNull() + } else { + assessmentResult, _ := json.Marshal(resp.Assessment) + r.Assessment = types.StringValue(string(assessmentResult)) + } + r.CommonName = types.StringPointerValue(resp.CommonName) + if resp.ID != nil { + r.ID = types.Int64Value(int64(*resp.ID)) + } else { + r.ID = types.Int64Null() + } + r.Lbrokerconnect = types.BoolPointerValue(resp.Lbrokerconnect) + r.Name = types.StringPointerValue(resp.Name) + if resp.PublisherUpgradeProfileID != nil { + r.PublisherUpgradeProfileID = types.Int64Value(int64(*resp.PublisherUpgradeProfileID)) + } else { + r.PublisherUpgradeProfileID = types.Int64Null() + } + r.Registered = types.BoolPointerValue(resp.Registered) + if resp.Status != nil { + r.Status = types.StringValue(string(*resp.Status)) + } else { + r.Status = types.StringNull() + } + if resp.StitcherID != nil { + r.StitcherID = types.Int64Value(int64(*resp.StitcherID)) + } else { + r.StitcherID = types.Int64Null() + } + if len(r.Tags) > len(resp.Tags) { + r.Tags = r.Tags[:len(resp.Tags)] + } + for tagsCount, tagsItem := range resp.Tags { + var tags1 TagItem + if tagsItem.TagID != nil { + tags1.TagID = types.Int64Value(int64(*tagsItem.TagID)) + } else { + tags1.TagID = types.Int64Null() + } + tags1.TagName = types.StringPointerValue(tagsItem.TagName) + if tagsCount+1 > len(r.Tags) { + r.Tags = append(r.Tags, tags1) + } else { + r.Tags[tagsCount].TagID = tags1.TagID + r.Tags[tagsCount].TagName = tags1.TagName + } + } + } } -func (r *NPAPublishersResourceModel) ToUpdateSDKType() *shared.PublisherPutRequest { +func (r *NPAPublishersResourceModel) ToSharedPublisherPutRequest() *shared.PublisherPutRequest { + name := new(string) + if !r.Name.IsUnknown() && !r.Name.IsNull() { + *name = r.Name.ValueString() + } else { + name = nil + } id := new(int) if !r.ID.IsUnknown() && !r.ID.IsNull() { *id = int(r.ID.ValueInt64()) @@ -66,12 +120,6 @@ func (r *NPAPublishersResourceModel) ToUpdateSDKType() *shared.PublisherPutReque } else { lbrokerconnect = nil } - name := new(string) - if !r.Name.IsUnknown() && !r.Name.IsNull() { - *name = r.Name.ValueString() - } else { - name = nil - } var tags []shared.TagItem = nil for _, tagsItem := range r.Tags { tagID := new(int) @@ -92,94 +140,10 @@ func (r *NPAPublishersResourceModel) ToUpdateSDKType() *shared.PublisherPutReque }) } out := shared.PublisherPutRequest{ + Name: name, ID: id, Lbrokerconnect: lbrokerconnect, - Name: name, Tags: tags, } return &out } - -func (r *NPAPublishersResourceModel) ToDeleteSDKType() *shared.PublisherPostRequest { - out := r.ToCreateSDKType() - return out -} - -func (r *NPAPublishersResourceModel) RefreshFromGetResponse(resp *shared.PublisherResponseData) { - if resp.Assessment == nil { - r.Assessment = types.StringNull() - } else { - assessmentResult, _ := json.Marshal(resp.Assessment) - r.Assessment = types.StringValue(string(assessmentResult)) - } - if resp.CommonName != nil { - r.CommonName = types.StringValue(*resp.CommonName) - } else { - r.CommonName = types.StringNull() - } - if resp.ID != nil { - r.ID = types.Int64Value(int64(*resp.ID)) - } else { - r.ID = types.Int64Null() - } - if resp.Lbrokerconnect != nil { - r.Lbrokerconnect = types.BoolValue(*resp.Lbrokerconnect) - } else { - r.Lbrokerconnect = types.BoolNull() - } - if resp.Name != nil { - r.Name = types.StringValue(*resp.Name) - } else { - r.Name = types.StringNull() - } - if resp.PublisherUpgradeProfileID != nil { - r.PublisherUpgradeProfileID = types.Int64Value(int64(*resp.PublisherUpgradeProfileID)) - } else { - r.PublisherUpgradeProfileID = types.Int64Null() - } - if resp.Registered != nil { - r.Registered = types.BoolValue(*resp.Registered) - } else { - r.Registered = types.BoolNull() - } - if resp.Status != nil { - r.Status = types.StringValue(string(*resp.Status)) - } else { - r.Status = types.StringNull() - } - if resp.StitcherID != nil { - r.StitcherID = types.Int64Value(int64(*resp.StitcherID)) - } else { - r.StitcherID = types.Int64Null() - } - if len(r.Tags) > len(resp.Tags) { - r.Tags = r.Tags[:len(resp.Tags)] - } - for tagsCount, tagsItem := range resp.Tags { - var tags1 TagItem - if tagsItem.TagID != nil { - tags1.TagID = types.Int64Value(int64(*tagsItem.TagID)) - } else { - tags1.TagID = types.Int64Null() - } - if tagsItem.TagName != nil { - tags1.TagName = types.StringValue(*tagsItem.TagName) - } else { - tags1.TagName = types.StringNull() - } - if tagsCount+1 > len(r.Tags) { - r.Tags = append(r.Tags, tags1) - } else { - r.Tags[tagsCount].TagID = tags1.TagID - r.Tags[tagsCount].TagName = tags1.TagName - } - } -} - -func (r *NPAPublishersResourceModel) RefreshFromCreateResponse(resp *shared.PublisherResponseData) { - r.RefreshFromGetResponse(resp) -} - -func (r *NPAPublishersResourceModel) RefreshFromUpdateResponse(resp *shared.PublisherResponseData) { - r.RefreshFromGetResponse(resp) -} diff --git a/internal/provider/npapublishersalertsconfiguration_data_source.go b/internal/provider/npapublishersalertsconfiguration_data_source.go index f506797..cc34329 100644 --- a/internal/provider/npapublishersalertsconfiguration_data_source.go +++ b/internal/provider/npapublishersalertsconfiguration_data_source.go @@ -5,12 +5,11 @@ package provider import ( "context" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - "github.com/hashicorp/terraform-plugin-framework/datasource" "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -23,7 +22,7 @@ func NewNPAPublishersAlertsConfigurationDataSource() datasource.DataSource { // NPAPublishersAlertsConfigurationDataSource is the data source implementation. type NPAPublishersAlertsConfigurationDataSource struct { - client *sdk.SDK + client *sdk.TerraformProviderNs } // NPAPublishersAlertsConfigurationDataSourceModel describes the data model. @@ -65,12 +64,12 @@ func (r *NPAPublishersAlertsConfigurationDataSource) Configure(ctx context.Conte return } - client, ok := req.ProviderData.(*sdk.SDK) + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) if !ok { resp.Diagnostics.AddError( "Unexpected DataSource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), ) return @@ -113,11 +112,11 @@ func (r *NPAPublishersAlertsConfigurationDataSource) Read(ctx context.Context, r resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return } - if res.PublishersAlertGetResponse == nil || res.PublishersAlertGetResponse.Data == nil { + if res.PublishersAlertGetResponse == nil { resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) return } - data.RefreshFromGetResponse(res.PublishersAlertGetResponse.Data) + data.RefreshFromSharedPublishersAlertGetResponseData(res.PublishersAlertGetResponse.Data) // Save updated data into Terraform state resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) diff --git a/internal/provider/npapublishersalertsconfiguration_data_source_sdk.go b/internal/provider/npapublishersalertsconfiguration_data_source_sdk.go index cfe6422..0ce361d 100644 --- a/internal/provider/npapublishersalertsconfiguration_data_source_sdk.go +++ b/internal/provider/npapublishersalertsconfiguration_data_source_sdk.go @@ -4,21 +4,19 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" ) -func (r *NPAPublishersAlertsConfigurationDataSourceModel) RefreshFromGetResponse(resp *shared.PublishersAlertGetResponseData) { - r.AdminUsers = nil - for _, v := range resp.AdminUsers { - r.AdminUsers = append(r.AdminUsers, types.StringValue(v)) - } - r.EventTypes = nil - for _, v := range resp.EventTypes { - r.EventTypes = append(r.EventTypes, types.StringValue(string(v))) - } - if resp.SelectedUsers != nil { - r.SelectedUsers = types.StringValue(*resp.SelectedUsers) - } else { - r.SelectedUsers = types.StringNull() +func (r *NPAPublishersAlertsConfigurationDataSourceModel) RefreshFromSharedPublishersAlertGetResponseData(resp *shared.PublishersAlertGetResponseData) { + if resp != nil { + r.AdminUsers = nil + for _, v := range resp.AdminUsers { + r.AdminUsers = append(r.AdminUsers, types.StringValue(v)) + } + r.EventTypes = nil + for _, v := range resp.EventTypes { + r.EventTypes = append(r.EventTypes, types.StringValue(string(v))) + } + r.SelectedUsers = types.StringPointerValue(resp.SelectedUsers) } } diff --git a/internal/provider/npapublishersalertsconfiguration_resource.go b/internal/provider/npapublishersalertsconfiguration_resource.go index a542f0a..0922624 100644 --- a/internal/provider/npapublishersalertsconfiguration_resource.go +++ b/internal/provider/npapublishersalertsconfiguration_resource.go @@ -5,12 +5,13 @@ package provider import ( "context" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - + "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -23,7 +24,7 @@ func NewNPAPublishersAlertsConfigurationResource() resource.Resource { // NPAPublishersAlertsConfigurationResource defines the resource implementation. type NPAPublishersAlertsConfigurationResource struct { - client *sdk.SDK + client *sdk.TerraformProviderNs } // NPAPublishersAlertsConfigurationResourceModel describes the resource data model. @@ -51,6 +52,9 @@ func (r *NPAPublishersAlertsConfigurationResource) Schema(ctx context.Context, r Computed: true, Optional: true, ElementType: types.StringType, + Validators: []validator.List{ + listvalidator.SizeAtLeast(1), + }, }, "selected_users": schema.StringAttribute{ Computed: true, @@ -66,12 +70,12 @@ func (r *NPAPublishersAlertsConfigurationResource) Configure(ctx context.Context return } - client, ok := req.ProviderData.(*sdk.SDK) + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) if !ok { resp.Diagnostics.AddError( "Unexpected Resource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), ) return @@ -82,14 +86,14 @@ func (r *NPAPublishersAlertsConfigurationResource) Configure(ctx context.Context func (r *NPAPublishersAlertsConfigurationResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { var data *NPAPublishersAlertsConfigurationResourceModel - var item types.Object + var plan types.Object - resp.Diagnostics.Append(req.Plan.Get(ctx, &item)...) + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) if resp.Diagnostics.HasError() { return } - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + resp.Diagnostics.Append(plan.As(ctx, &data, basetypes.ObjectAsOptions{ UnhandledNullAsEmpty: true, UnhandledUnknownAsEmpty: true, })...) @@ -98,7 +102,7 @@ func (r *NPAPublishersAlertsConfigurationResource) Create(ctx context.Context, r return } - request := *data.ToCreateSDKType() + request := *data.ToSharedPublishersAlertPutRequest() res, err := r.client.PutInfrastructurePublishersAlertsconfiguration(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) @@ -115,11 +119,12 @@ func (r *NPAPublishersAlertsConfigurationResource) Create(ctx context.Context, r resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return } - if res.PublishersAlertGetResponse == nil || res.PublishersAlertGetResponse.Data == nil { + if res.PublishersAlertGetResponse == nil { resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) return } - data.RefreshFromCreateResponse(res.PublishersAlertGetResponse.Data) + data.RefreshFromSharedPublishersAlertGetResponseData(res.PublishersAlertGetResponse.Data) + refreshPlan(ctx, plan, &data, resp.Diagnostics) // Save updated data into Terraform state resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) @@ -159,11 +164,11 @@ func (r *NPAPublishersAlertsConfigurationResource) Read(ctx context.Context, req resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return } - if res.PublishersAlertGetResponse == nil || res.PublishersAlertGetResponse.Data == nil { + if res.PublishersAlertGetResponse == nil { resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) return } - data.RefreshFromGetResponse(res.PublishersAlertGetResponse.Data) + data.RefreshFromSharedPublishersAlertGetResponseData(res.PublishersAlertGetResponse.Data) // Save updated data into Terraform state resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) @@ -171,12 +176,19 @@ func (r *NPAPublishersAlertsConfigurationResource) Read(ctx context.Context, req func (r *NPAPublishersAlertsConfigurationResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { var data *NPAPublishersAlertsConfigurationResourceModel + var plan types.Object + + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + merge(ctx, req, resp, &data) if resp.Diagnostics.HasError() { return } - request := *data.ToUpdateSDKType() + request := *data.ToSharedPublishersAlertPutRequest() res, err := r.client.PutInfrastructurePublishersAlertsconfiguration(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) @@ -193,11 +205,12 @@ func (r *NPAPublishersAlertsConfigurationResource) Update(ctx context.Context, r resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return } - if res.PublishersAlertGetResponse == nil || res.PublishersAlertGetResponse.Data == nil { + if res.PublishersAlertGetResponse == nil { resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) return } - data.RefreshFromUpdateResponse(res.PublishersAlertGetResponse.Data) + data.RefreshFromSharedPublishersAlertGetResponseData(res.PublishersAlertGetResponse.Data) + refreshPlan(ctx, plan, &data, resp.Diagnostics) // Save updated data into Terraform state resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) diff --git a/internal/provider/npapublishersalertsconfiguration_resource_sdk.go b/internal/provider/npapublishersalertsconfiguration_resource_sdk.go index 87d544e..562e582 100644 --- a/internal/provider/npapublishersalertsconfiguration_resource_sdk.go +++ b/internal/provider/npapublishersalertsconfiguration_resource_sdk.go @@ -4,10 +4,10 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" ) -func (r *NPAPublishersAlertsConfigurationResourceModel) ToCreateSDKType() *shared.PublishersAlertPutRequest { +func (r *NPAPublishersAlertsConfigurationResourceModel) ToSharedPublishersAlertPutRequest() *shared.PublishersAlertPutRequest { var adminUsers []string = nil for _, adminUsersItem := range r.AdminUsers { adminUsers = append(adminUsers, adminUsersItem.ValueString()) @@ -30,31 +30,16 @@ func (r *NPAPublishersAlertsConfigurationResourceModel) ToCreateSDKType() *share return &out } -func (r *NPAPublishersAlertsConfigurationResourceModel) ToUpdateSDKType() *shared.PublishersAlertPutRequest { - out := r.ToCreateSDKType() - return out -} - -func (r *NPAPublishersAlertsConfigurationResourceModel) RefreshFromGetResponse(resp *shared.PublishersAlertGetResponseData) { - r.AdminUsers = nil - for _, v := range resp.AdminUsers { - r.AdminUsers = append(r.AdminUsers, types.StringValue(v)) - } - r.EventTypes = nil - for _, v := range resp.EventTypes { - r.EventTypes = append(r.EventTypes, types.StringValue(string(v))) - } - if resp.SelectedUsers != nil { - r.SelectedUsers = types.StringValue(*resp.SelectedUsers) - } else { - r.SelectedUsers = types.StringNull() +func (r *NPAPublishersAlertsConfigurationResourceModel) RefreshFromSharedPublishersAlertGetResponseData(resp *shared.PublishersAlertGetResponseData) { + if resp != nil { + r.AdminUsers = nil + for _, v := range resp.AdminUsers { + r.AdminUsers = append(r.AdminUsers, types.StringValue(v)) + } + r.EventTypes = nil + for _, v := range resp.EventTypes { + r.EventTypes = append(r.EventTypes, types.StringValue(string(v))) + } + r.SelectedUsers = types.StringPointerValue(resp.SelectedUsers) } } - -func (r *NPAPublishersAlertsConfigurationResourceModel) RefreshFromCreateResponse(resp *shared.PublishersAlertGetResponseData) { - r.RefreshFromGetResponse(resp) -} - -func (r *NPAPublishersAlertsConfigurationResourceModel) RefreshFromUpdateResponse(resp *shared.PublishersAlertGetResponseData) { - r.RefreshFromGetResponse(resp) -} diff --git a/internal/provider/npapublishersappslist_data_source.go b/internal/provider/npapublishersappslist_data_source.go index a81e0f9..9b205c5 100644 --- a/internal/provider/npapublishersappslist_data_source.go +++ b/internal/provider/npapublishersappslist_data_source.go @@ -5,13 +5,12 @@ package provider import ( "context" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" - "github.com/hashicorp/terraform-plugin-framework/datasource" "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -24,7 +23,7 @@ func NewNPAPublishersAppsListDataSource() datasource.DataSource { // NPAPublishersAppsListDataSource is the data source implementation. type NPAPublishersAppsListDataSource struct { - client *sdk.SDK + client *sdk.TerraformProviderNs } // NPAPublishersAppsListDataSourceModel describes the data model. @@ -153,12 +152,12 @@ func (r *NPAPublishersAppsListDataSource) Configure(ctx context.Context, req dat return } - client, ok := req.ProviderData.(*sdk.SDK) + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) if !ok { resp.Diagnostics.AddError( "Unexpected DataSource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), ) return @@ -209,7 +208,7 @@ func (r *NPAPublishersAppsListDataSource) Read(ctx context.Context, req datasour resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) return } - data.RefreshFromGetResponse(res.PublisherAppsListResponse) + data.RefreshFromSharedPublisherAppsListResponse(res.PublisherAppsListResponse) // Save updated data into Terraform state resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) diff --git a/internal/provider/npapublishersappslist_data_source_sdk.go b/internal/provider/npapublishersappslist_data_source_sdk.go index fefaa78..1d97c59 100644 --- a/internal/provider/npapublishersappslist_data_source_sdk.go +++ b/internal/provider/npapublishersappslist_data_source_sdk.go @@ -4,173 +4,118 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" ) -func (r *NPAPublishersAppsListDataSourceModel) RefreshFromGetResponse(resp *shared.PublisherAppsListResponse) { - if len(r.Data) > len(resp.Data) { - r.Data = r.Data[:len(resp.Data)] - } - for dataCount, dataItem := range resp.Data { - var data1 PublisherAppsListResponseData - if dataItem.ClientlessAccess != nil { - data1.ClientlessAccess = types.BoolValue(*dataItem.ClientlessAccess) - } else { - data1.ClientlessAccess = types.BoolNull() - } - if dataItem.Host != nil { - data1.Host = types.StringValue(*dataItem.Host) - } else { - data1.Host = types.StringNull() - } - if dataItem.ID != nil { - data1.ID = types.Int64Value(int64(*dataItem.ID)) - } else { - data1.ID = types.Int64Null() - } - if dataItem.Name != nil { - data1.Name = types.StringValue(*dataItem.Name) - } else { - data1.Name = types.StringNull() - } - if len(data1.Protocols) > len(dataItem.Protocols) { - data1.Protocols = data1.Protocols[:len(dataItem.Protocols)] - } - for protocolsCount, protocolsItem := range dataItem.Protocols { - var protocols1 ProtocolResponseItem - if protocolsItem.ID != nil { - protocols1.ID = types.Int64Value(int64(*protocolsItem.ID)) - } else { - protocols1.ID = types.Int64Null() - } - if protocolsItem.Port != nil { - protocols1.Port = types.StringValue(*protocolsItem.Port) - } else { - protocols1.Port = types.StringNull() - } - if protocolsItem.ServiceID != nil { - protocols1.ServiceID = types.Int64Value(int64(*protocolsItem.ServiceID)) - } else { - protocols1.ServiceID = types.Int64Null() - } - if protocolsItem.Transport != nil { - protocols1.Transport = types.StringValue(*protocolsItem.Transport) - } else { - protocols1.Transport = types.StringNull() - } - if protocolsCount+1 > len(data1.Protocols) { - data1.Protocols = append(data1.Protocols, protocols1) - } else { - data1.Protocols[protocolsCount].ID = protocols1.ID - data1.Protocols[protocolsCount].Port = protocols1.Port - data1.Protocols[protocolsCount].ServiceID = protocols1.ServiceID - data1.Protocols[protocolsCount].Transport = protocols1.Transport - } +func (r *NPAPublishersAppsListDataSourceModel) RefreshFromSharedPublisherAppsListResponse(resp *shared.PublisherAppsListResponse) { + if resp != nil { + if len(r.Data) > len(resp.Data) { + r.Data = r.Data[:len(resp.Data)] } - if dataItem.RealHost != nil { - data1.RealHost = types.StringValue(*dataItem.RealHost) - } else { - data1.RealHost = types.StringNull() - } - if len(data1.ServicePublisherAssignments) > len(dataItem.ServicePublisherAssignments) { - data1.ServicePublisherAssignments = data1.ServicePublisherAssignments[:len(dataItem.ServicePublisherAssignments)] - } - for servicePublisherAssignmentsCount, servicePublisherAssignmentsItem := range dataItem.ServicePublisherAssignments { - var servicePublisherAssignments1 ServicePublisherAssignmentItem - if servicePublisherAssignmentsItem.Primary != nil { - servicePublisherAssignments1.Primary = types.BoolValue(*servicePublisherAssignmentsItem.Primary) + for dataCount, dataItem := range resp.Data { + var data1 PublisherAppsListResponseData + data1.ClientlessAccess = types.BoolPointerValue(dataItem.ClientlessAccess) + data1.Host = types.StringPointerValue(dataItem.Host) + if dataItem.ID != nil { + data1.ID = types.Int64Value(int64(*dataItem.ID)) } else { - servicePublisherAssignments1.Primary = types.BoolNull() + data1.ID = types.Int64Null() } - if servicePublisherAssignmentsItem.PublisherID != nil { - servicePublisherAssignments1.PublisherID = types.Int64Value(int64(*servicePublisherAssignmentsItem.PublisherID)) - } else { - servicePublisherAssignments1.PublisherID = types.Int64Null() - } - if servicePublisherAssignmentsItem.Reachability == nil { - servicePublisherAssignments1.Reachability = nil - } else { - servicePublisherAssignments1.Reachability = &Reachability{} - if servicePublisherAssignmentsItem.Reachability.ErrorCode != nil { - servicePublisherAssignments1.Reachability.ErrorCode = types.Int64Value(int64(*servicePublisherAssignmentsItem.Reachability.ErrorCode)) + data1.Name = types.StringPointerValue(dataItem.Name) + for protocolsCount, protocolsItem := range dataItem.Protocols { + var protocols1 ProtocolResponseItem + if protocolsItem.ID != nil { + protocols1.ID = types.Int64Value(int64(*protocolsItem.ID)) } else { - servicePublisherAssignments1.Reachability.ErrorCode = types.Int64Null() + protocols1.ID = types.Int64Null() } - if servicePublisherAssignmentsItem.Reachability.ErrorString != nil { - servicePublisherAssignments1.Reachability.ErrorString = types.StringValue(*servicePublisherAssignmentsItem.Reachability.ErrorString) + protocols1.Port = types.StringPointerValue(protocolsItem.Port) + if protocolsItem.ServiceID != nil { + protocols1.ServiceID = types.Int64Value(int64(*protocolsItem.ServiceID)) } else { - servicePublisherAssignments1.Reachability.ErrorString = types.StringNull() + protocols1.ServiceID = types.Int64Null() } - if servicePublisherAssignmentsItem.Reachability.Reachable != nil { - servicePublisherAssignments1.Reachability.Reachable = types.BoolValue(*servicePublisherAssignmentsItem.Reachability.Reachable) + protocols1.Transport = types.StringPointerValue(protocolsItem.Transport) + if protocolsCount+1 > len(data1.Protocols) { + data1.Protocols = append(data1.Protocols, protocols1) } else { - servicePublisherAssignments1.Reachability.Reachable = types.BoolNull() + data1.Protocols[protocolsCount].ID = protocols1.ID + data1.Protocols[protocolsCount].Port = protocols1.Port + data1.Protocols[protocolsCount].ServiceID = protocols1.ServiceID + data1.Protocols[protocolsCount].Transport = protocols1.Transport } } - if servicePublisherAssignmentsItem.ServiceID != nil { - servicePublisherAssignments1.ServiceID = types.Int64Value(int64(*servicePublisherAssignmentsItem.ServiceID)) - } else { - servicePublisherAssignments1.ServiceID = types.Int64Null() - } - if servicePublisherAssignmentsCount+1 > len(data1.ServicePublisherAssignments) { - data1.ServicePublisherAssignments = append(data1.ServicePublisherAssignments, servicePublisherAssignments1) - } else { - data1.ServicePublisherAssignments[servicePublisherAssignmentsCount].Primary = servicePublisherAssignments1.Primary - data1.ServicePublisherAssignments[servicePublisherAssignmentsCount].PublisherID = servicePublisherAssignments1.PublisherID - data1.ServicePublisherAssignments[servicePublisherAssignmentsCount].Reachability = servicePublisherAssignments1.Reachability - data1.ServicePublisherAssignments[servicePublisherAssignmentsCount].ServiceID = servicePublisherAssignments1.ServiceID - } - } - if len(data1.Tags) > len(dataItem.Tags) { - data1.Tags = data1.Tags[:len(dataItem.Tags)] - } - for tagsCount, tagsItem := range dataItem.Tags { - var tags1 TagItem - if tagsItem.TagID != nil { - tags1.TagID = types.Int64Value(int64(*tagsItem.TagID)) - } else { - tags1.TagID = types.Int64Null() + data1.RealHost = types.StringPointerValue(dataItem.RealHost) + for servicePublisherAssignmentsCount, servicePublisherAssignmentsItem := range dataItem.ServicePublisherAssignments { + var servicePublisherAssignments1 ServicePublisherAssignmentItem + servicePublisherAssignments1.Primary = types.BoolPointerValue(servicePublisherAssignmentsItem.Primary) + if servicePublisherAssignmentsItem.PublisherID != nil { + servicePublisherAssignments1.PublisherID = types.Int64Value(int64(*servicePublisherAssignmentsItem.PublisherID)) + } else { + servicePublisherAssignments1.PublisherID = types.Int64Null() + } + if servicePublisherAssignmentsItem.Reachability == nil { + servicePublisherAssignments1.Reachability = nil + } else { + servicePublisherAssignments1.Reachability = &Reachability{} + if servicePublisherAssignmentsItem.Reachability.ErrorCode != nil { + servicePublisherAssignments1.Reachability.ErrorCode = types.Int64Value(int64(*servicePublisherAssignmentsItem.Reachability.ErrorCode)) + } else { + servicePublisherAssignments1.Reachability.ErrorCode = types.Int64Null() + } + servicePublisherAssignments1.Reachability.ErrorString = types.StringPointerValue(servicePublisherAssignmentsItem.Reachability.ErrorString) + servicePublisherAssignments1.Reachability.Reachable = types.BoolPointerValue(servicePublisherAssignmentsItem.Reachability.Reachable) + } + if servicePublisherAssignmentsItem.ServiceID != nil { + servicePublisherAssignments1.ServiceID = types.Int64Value(int64(*servicePublisherAssignmentsItem.ServiceID)) + } else { + servicePublisherAssignments1.ServiceID = types.Int64Null() + } + if servicePublisherAssignmentsCount+1 > len(data1.ServicePublisherAssignments) { + data1.ServicePublisherAssignments = append(data1.ServicePublisherAssignments, servicePublisherAssignments1) + } else { + data1.ServicePublisherAssignments[servicePublisherAssignmentsCount].Primary = servicePublisherAssignments1.Primary + data1.ServicePublisherAssignments[servicePublisherAssignmentsCount].PublisherID = servicePublisherAssignments1.PublisherID + data1.ServicePublisherAssignments[servicePublisherAssignmentsCount].Reachability = servicePublisherAssignments1.Reachability + data1.ServicePublisherAssignments[servicePublisherAssignmentsCount].ServiceID = servicePublisherAssignments1.ServiceID + } } - if tagsItem.TagName != nil { - tags1.TagName = types.StringValue(*tagsItem.TagName) - } else { - tags1.TagName = types.StringNull() + for tagsCount, tagsItem := range dataItem.Tags { + var tags1 TagItem + if tagsItem.TagID != nil { + tags1.TagID = types.Int64Value(int64(*tagsItem.TagID)) + } else { + tags1.TagID = types.Int64Null() + } + tags1.TagName = types.StringPointerValue(tagsItem.TagName) + if tagsCount+1 > len(data1.Tags) { + data1.Tags = append(data1.Tags, tags1) + } else { + data1.Tags[tagsCount].TagID = tags1.TagID + data1.Tags[tagsCount].TagName = tags1.TagName + } } - if tagsCount+1 > len(data1.Tags) { - data1.Tags = append(data1.Tags, tags1) + data1.TrustSelfSignedCerts = types.BoolPointerValue(dataItem.TrustSelfSignedCerts) + data1.UsePublisherDNS = types.BoolPointerValue(dataItem.UsePublisherDNS) + if dataCount+1 > len(r.Data) { + r.Data = append(r.Data, data1) } else { - data1.Tags[tagsCount].TagID = tags1.TagID - data1.Tags[tagsCount].TagName = tags1.TagName + r.Data[dataCount].ClientlessAccess = data1.ClientlessAccess + r.Data[dataCount].Host = data1.Host + r.Data[dataCount].ID = data1.ID + r.Data[dataCount].Name = data1.Name + r.Data[dataCount].Protocols = data1.Protocols + r.Data[dataCount].RealHost = data1.RealHost + r.Data[dataCount].ServicePublisherAssignments = data1.ServicePublisherAssignments + r.Data[dataCount].Tags = data1.Tags + r.Data[dataCount].TrustSelfSignedCerts = data1.TrustSelfSignedCerts + r.Data[dataCount].UsePublisherDNS = data1.UsePublisherDNS } } - if dataItem.TrustSelfSignedCerts != nil { - data1.TrustSelfSignedCerts = types.BoolValue(*dataItem.TrustSelfSignedCerts) - } else { - data1.TrustSelfSignedCerts = types.BoolNull() - } - if dataItem.UsePublisherDNS != nil { - data1.UsePublisherDNS = types.BoolValue(*dataItem.UsePublisherDNS) + if resp.Status != nil { + r.Status = types.StringValue(string(*resp.Status)) } else { - data1.UsePublisherDNS = types.BoolNull() + r.Status = types.StringNull() } - if dataCount+1 > len(r.Data) { - r.Data = append(r.Data, data1) - } else { - r.Data[dataCount].ClientlessAccess = data1.ClientlessAccess - r.Data[dataCount].Host = data1.Host - r.Data[dataCount].ID = data1.ID - r.Data[dataCount].Name = data1.Name - r.Data[dataCount].Protocols = data1.Protocols - r.Data[dataCount].RealHost = data1.RealHost - r.Data[dataCount].ServicePublisherAssignments = data1.ServicePublisherAssignments - r.Data[dataCount].Tags = data1.Tags - r.Data[dataCount].TrustSelfSignedCerts = data1.TrustSelfSignedCerts - r.Data[dataCount].UsePublisherDNS = data1.UsePublisherDNS - } - } - if resp.Status != nil { - r.Status = types.StringValue(string(*resp.Status)) - } else { - r.Status = types.StringNull() } } diff --git a/internal/provider/npapublishersbulkupgrade_resource.go b/internal/provider/npapublishersbulkupgrade_resource.go index bb15ee8..b2ff75d 100644 --- a/internal/provider/npapublishersbulkupgrade_resource.go +++ b/internal/provider/npapublishersbulkupgrade_resource.go @@ -5,11 +5,10 @@ package provider import ( "context" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/booldefault" "github.com/hashicorp/terraform-plugin-framework/resource/schema/boolplanmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/listplanmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/objectplanmodifier" @@ -17,6 +16,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -29,7 +29,7 @@ func NewNPAPublishersBulkUpgradeResource() resource.Resource { // NPAPublishersBulkUpgradeResource defines the resource implementation. type NPAPublishersBulkUpgradeResource struct { - client *sdk.SDK + client *sdk.TerraformProviderNs } // NPAPublishersBulkUpgradeResourceModel describes the resource data model. @@ -116,33 +116,38 @@ func (r *NPAPublishersBulkUpgradeResource) Schema(ctx context.Context, req resou }, "publishers": schema.SingleNestedAttribute{ PlanModifiers: []planmodifier.Object{ - objectplanmodifier.RequiresReplace(), + objectplanmodifier.RequiresReplaceIfConfigured(), }, Optional: true, Attributes: map[string]schema.Attribute{ "apply": schema.SingleNestedAttribute{ PlanModifiers: []planmodifier.Object{ - objectplanmodifier.RequiresReplace(), + objectplanmodifier.RequiresReplaceIfConfigured(), }, Optional: true, Attributes: map[string]schema.Attribute{ "upgrade_request": schema.BoolAttribute{ + Computed: true, PlanModifiers: []planmodifier.Bool{ - boolplanmodifier.RequiresReplace(), + boolplanmodifier.RequiresReplaceIfConfigured(), }, Optional: true, - Description: `Default: true`, + Default: booldefault.StaticBool(true), + Description: `Requires replacement if changed. ; Default: true`, }, }, + Description: `Requires replacement if changed. `, }, "id": schema.ListAttribute{ PlanModifiers: []planmodifier.List{ - listplanmodifier.RequiresReplace(), + listplanmodifier.RequiresReplaceIfConfigured(), }, Optional: true, ElementType: types.StringType, + Description: `Requires replacement if changed. `, }, }, + Description: `Requires replacement if changed. `, }, "status": schema.StringAttribute{ Computed: true, @@ -164,12 +169,12 @@ func (r *NPAPublishersBulkUpgradeResource) Configure(ctx context.Context, req re return } - client, ok := req.ProviderData.(*sdk.SDK) + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) if !ok { resp.Diagnostics.AddError( "Unexpected Resource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), ) return @@ -180,14 +185,14 @@ func (r *NPAPublishersBulkUpgradeResource) Configure(ctx context.Context, req re func (r *NPAPublishersBulkUpgradeResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { var data *NPAPublishersBulkUpgradeResourceModel - var item types.Object + var plan types.Object - resp.Diagnostics.Append(req.Plan.Get(ctx, &item)...) + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) if resp.Diagnostics.HasError() { return } - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + resp.Diagnostics.Append(plan.As(ctx, &data, basetypes.ObjectAsOptions{ UnhandledNullAsEmpty: true, UnhandledUnknownAsEmpty: true, })...) @@ -196,7 +201,7 @@ func (r *NPAPublishersBulkUpgradeResource) Create(ctx context.Context, req resou return } - request := *data.ToCreateSDKType() + request := *data.ToSharedPublisherBulkRequest() res, err := r.client.PutInfrastructurePublishersBulk(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) @@ -217,7 +222,8 @@ func (r *NPAPublishersBulkUpgradeResource) Create(ctx context.Context, req resou resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) return } - data.RefreshFromCreateResponse(res.PublishersBulkResponse) + data.RefreshFromSharedPublishersBulkResponse(res.PublishersBulkResponse) + refreshPlan(ctx, plan, &data, resp.Diagnostics) // Save updated data into Terraform state resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) @@ -249,6 +255,13 @@ func (r *NPAPublishersBulkUpgradeResource) Read(ctx context.Context, req resourc func (r *NPAPublishersBulkUpgradeResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { var data *NPAPublishersBulkUpgradeResourceModel + var plan types.Object + + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + merge(ctx, req, resp, &data) if resp.Diagnostics.HasError() { return diff --git a/internal/provider/npapublishersbulkupgrade_resource_sdk.go b/internal/provider/npapublishersbulkupgrade_resource_sdk.go index 478b65a..a0bc1e4 100644 --- a/internal/provider/npapublishersbulkupgrade_resource_sdk.go +++ b/internal/provider/npapublishersbulkupgrade_resource_sdk.go @@ -4,12 +4,16 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" ) -func (r *NPAPublishersBulkUpgradeResourceModel) ToCreateSDKType() *shared.PublisherBulkRequest { +func (r *NPAPublishersBulkUpgradeResourceModel) ToSharedPublisherBulkRequest() *shared.PublisherBulkRequest { var publishers *shared.Publishers if r.Publishers != nil { + var id []string = nil + for _, idItem := range r.Publishers.ID { + id = append(id, idItem.ValueString()) + } var apply *shared.Apply if r.Publishers.Apply != nil { upgradeRequest := new(bool) @@ -22,13 +26,9 @@ func (r *NPAPublishersBulkUpgradeResourceModel) ToCreateSDKType() *shared.Publis UpgradeRequest: upgradeRequest, } } - var id []string = nil - for _, idItem := range r.Publishers.ID { - id = append(id, idItem.ValueString()) - } publishers = &shared.Publishers{ - Apply: apply, ID: id, + Apply: apply, } } out := shared.PublisherBulkRequest{ @@ -37,115 +37,90 @@ func (r *NPAPublishersBulkUpgradeResourceModel) ToCreateSDKType() *shared.Publis return &out } -func (r *NPAPublishersBulkUpgradeResourceModel) RefreshFromCreateResponse(resp *shared.PublishersBulkResponse) { - if len(r.Data) > len(resp.Data) { - r.Data = r.Data[:len(resp.Data)] - } - for dataCount, dataItem := range resp.Data { - var data1 PublisherBulkItem - if dataItem.Assessment == nil { - data1.Assessment = nil - } else { - data1.Assessment = &PublisherBulkItemAssessment{} - } - if dataItem.CommonName != nil { - data1.CommonName = types.StringValue(*dataItem.CommonName) - } else { - data1.CommonName = types.StringNull() - } - if dataItem.ID != nil { - data1.ID = types.Int64Value(int64(*dataItem.ID)) - } else { - data1.ID = types.Int64Null() - } - if dataItem.Lbrokerconnect != nil { - data1.Lbrokerconnect = types.BoolValue(*dataItem.Lbrokerconnect) - } else { - data1.Lbrokerconnect = types.BoolNull() - } - if dataItem.Name != nil { - data1.Name = types.StringValue(*dataItem.Name) - } else { - data1.Name = types.StringNull() - } - if dataItem.PublisherUpgradeProfileID != nil { - data1.PublisherUpgradeProfileID = types.Int64Value(int64(*dataItem.PublisherUpgradeProfileID)) - } else { - data1.PublisherUpgradeProfileID = types.Int64Null() - } - if dataItem.Registered != nil { - data1.Registered = types.BoolValue(*dataItem.Registered) - } else { - data1.Registered = types.BoolNull() - } - if dataItem.Status != nil { - data1.Status = types.StringValue(string(*dataItem.Status)) - } else { - data1.Status = types.StringNull() - } - if dataItem.StitcherID != nil { - data1.StitcherID = types.Int64Value(int64(*dataItem.StitcherID)) - } else { - data1.StitcherID = types.Int64Null() - } - if len(data1.Tags) > len(dataItem.Tags) { - data1.Tags = data1.Tags[:len(dataItem.Tags)] - } - for tagsCount, tagsItem := range dataItem.Tags { - var tags1 TagItem - if tagsItem.TagID != nil { - tags1.TagID = types.Int64Value(int64(*tagsItem.TagID)) +func (r *NPAPublishersBulkUpgradeResourceModel) RefreshFromSharedPublishersBulkResponse(resp *shared.PublishersBulkResponse) { + if resp != nil { + if len(r.Data) > len(resp.Data) { + r.Data = r.Data[:len(resp.Data)] + } + for dataCount, dataItem := range resp.Data { + var data1 PublisherBulkItem + if dataItem.Assessment == nil { + data1.Assessment = nil } else { - tags1.TagID = types.Int64Null() + data1.Assessment = &PublisherBulkItemAssessment{} } - if tagsItem.TagName != nil { - tags1.TagName = types.StringValue(*tagsItem.TagName) + data1.CommonName = types.StringPointerValue(dataItem.CommonName) + if dataItem.ID != nil { + data1.ID = types.Int64Value(int64(*dataItem.ID)) } else { - tags1.TagName = types.StringNull() + data1.ID = types.Int64Null() } - if tagsCount+1 > len(data1.Tags) { - data1.Tags = append(data1.Tags, tags1) + data1.Lbrokerconnect = types.BoolPointerValue(dataItem.Lbrokerconnect) + data1.Name = types.StringPointerValue(dataItem.Name) + if dataItem.PublisherUpgradeProfileID != nil { + data1.PublisherUpgradeProfileID = types.Int64Value(int64(*dataItem.PublisherUpgradeProfileID)) } else { - data1.Tags[tagsCount].TagID = tags1.TagID - data1.Tags[tagsCount].TagName = tags1.TagName + data1.PublisherUpgradeProfileID = types.Int64Null() + } + data1.Registered = types.BoolPointerValue(dataItem.Registered) + if dataItem.Status != nil { + data1.Status = types.StringValue(string(*dataItem.Status)) + } else { + data1.Status = types.StringNull() + } + if dataItem.StitcherID != nil { + data1.StitcherID = types.Int64Value(int64(*dataItem.StitcherID)) + } else { + data1.StitcherID = types.Int64Null() + } + for tagsCount, tagsItem := range dataItem.Tags { + var tags1 TagItem + if tagsItem.TagID != nil { + tags1.TagID = types.Int64Value(int64(*tagsItem.TagID)) + } else { + tags1.TagID = types.Int64Null() + } + tags1.TagName = types.StringPointerValue(tagsItem.TagName) + if tagsCount+1 > len(data1.Tags) { + data1.Tags = append(data1.Tags, tags1) + } else { + data1.Tags[tagsCount].TagID = tags1.TagID + data1.Tags[tagsCount].TagName = tags1.TagName + } + } + if dataItem.UpgradeFailedReason == nil { + data1.UpgradeFailedReason = nil + } else { + data1.UpgradeFailedReason = &PublisherBulkItemAssessment{} + } + data1.UpgradeRequest = types.BoolPointerValue(dataItem.UpgradeRequest) + if dataItem.UpgradeStatus == nil { + data1.UpgradeStatus = nil + } else { + data1.UpgradeStatus = &PublisherBulkItemAssessment{} + } + if dataCount+1 > len(r.Data) { + r.Data = append(r.Data, data1) + } else { + r.Data[dataCount].Assessment = data1.Assessment + r.Data[dataCount].CommonName = data1.CommonName + r.Data[dataCount].ID = data1.ID + r.Data[dataCount].Lbrokerconnect = data1.Lbrokerconnect + r.Data[dataCount].Name = data1.Name + r.Data[dataCount].PublisherUpgradeProfileID = data1.PublisherUpgradeProfileID + r.Data[dataCount].Registered = data1.Registered + r.Data[dataCount].Status = data1.Status + r.Data[dataCount].StitcherID = data1.StitcherID + r.Data[dataCount].Tags = data1.Tags + r.Data[dataCount].UpgradeFailedReason = data1.UpgradeFailedReason + r.Data[dataCount].UpgradeRequest = data1.UpgradeRequest + r.Data[dataCount].UpgradeStatus = data1.UpgradeStatus } } - if dataItem.UpgradeFailedReason == nil { - data1.UpgradeFailedReason = nil - } else { - data1.UpgradeFailedReason = &PublisherBulkItemAssessment{} - } - if dataItem.UpgradeRequest != nil { - data1.UpgradeRequest = types.BoolValue(*dataItem.UpgradeRequest) - } else { - data1.UpgradeRequest = types.BoolNull() - } - if dataItem.UpgradeStatus == nil { - data1.UpgradeStatus = nil - } else { - data1.UpgradeStatus = &PublisherBulkItemAssessment{} - } - if dataCount+1 > len(r.Data) { - r.Data = append(r.Data, data1) + if resp.Status != nil { + r.Status = types.StringValue(string(*resp.Status)) } else { - r.Data[dataCount].Assessment = data1.Assessment - r.Data[dataCount].CommonName = data1.CommonName - r.Data[dataCount].ID = data1.ID - r.Data[dataCount].Lbrokerconnect = data1.Lbrokerconnect - r.Data[dataCount].Name = data1.Name - r.Data[dataCount].PublisherUpgradeProfileID = data1.PublisherUpgradeProfileID - r.Data[dataCount].Registered = data1.Registered - r.Data[dataCount].Status = data1.Status - r.Data[dataCount].StitcherID = data1.StitcherID - r.Data[dataCount].Tags = data1.Tags - r.Data[dataCount].UpgradeFailedReason = data1.UpgradeFailedReason - r.Data[dataCount].UpgradeRequest = data1.UpgradeRequest - r.Data[dataCount].UpgradeStatus = data1.UpgradeStatus + r.Status = types.StringNull() } } - if resp.Status != nil { - r.Status = types.StringValue(string(*resp.Status)) - } else { - r.Status = types.StringNull() - } } diff --git a/internal/provider/npapublisherslist_data_source.go b/internal/provider/npapublisherslist_data_source.go index 8f7d6ab..3aa197c 100644 --- a/internal/provider/npapublisherslist_data_source.go +++ b/internal/provider/npapublisherslist_data_source.go @@ -5,13 +5,12 @@ package provider import ( "context" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" - "github.com/hashicorp/terraform-plugin-framework/datasource" "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -24,7 +23,7 @@ func NewNPAPublishersListDataSource() datasource.DataSource { // NPAPublishersListDataSource is the data source implementation. type NPAPublishersListDataSource struct { - client *sdk.SDK + client *sdk.TerraformProviderNs } // NPAPublishersListDataSourceModel describes the data model. @@ -59,6 +58,10 @@ func (r *NPAPublishersListDataSource) Schema(ctx context.Context, req datasource "assessment": schema.SingleNestedAttribute{ Computed: true, Attributes: map[string]schema.Attribute{ + "two": schema.SingleNestedAttribute{ + Computed: true, + Attributes: map[string]schema.Attribute{}, + }, "assessment": schema.SingleNestedAttribute{ Computed: true, Attributes: map[string]schema.Attribute{ @@ -82,10 +85,6 @@ func (r *NPAPublishersListDataSource) Schema(ctx context.Context, req datasource }, }, }, - "two": schema.SingleNestedAttribute{ - Computed: true, - Attributes: map[string]schema.Attribute{}, - }, }, }, "common_name": schema.StringAttribute{ @@ -132,6 +131,10 @@ func (r *NPAPublishersListDataSource) Schema(ctx context.Context, req datasource "upgrade_failed_reason": schema.SingleNestedAttribute{ Computed: true, Attributes: map[string]schema.Attribute{ + "two": schema.SingleNestedAttribute{ + Computed: true, + Attributes: map[string]schema.Attribute{}, + }, "upgrade_failed_reason": schema.SingleNestedAttribute{ Computed: true, Attributes: map[string]schema.Attribute{ @@ -149,10 +152,6 @@ func (r *NPAPublishersListDataSource) Schema(ctx context.Context, req datasource }, }, }, - "two": schema.SingleNestedAttribute{ - Computed: true, - Attributes: map[string]schema.Attribute{}, - }, }, }, "upgrade_request": schema.BoolAttribute{ @@ -191,12 +190,12 @@ func (r *NPAPublishersListDataSource) Configure(ctx context.Context, req datasou return } - client, ok := req.ProviderData.(*sdk.SDK) + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) if !ok { resp.Diagnostics.AddError( "Unexpected DataSource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), ) return @@ -252,7 +251,7 @@ func (r *NPAPublishersListDataSource) Read(ctx context.Context, req datasource.R resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) return } - data.RefreshFromGetResponse(res.PublishersGetResponse) + data.RefreshFromSharedPublishersGetResponse(res.PublishersGetResponse) // Save updated data into Terraform state resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) diff --git a/internal/provider/npapublisherslist_data_source_sdk.go b/internal/provider/npapublisherslist_data_source_sdk.go index ed093a2..a436cb2 100644 --- a/internal/provider/npapublisherslist_data_source_sdk.go +++ b/internal/provider/npapublisherslist_data_source_sdk.go @@ -5,101 +5,95 @@ package provider import ( "encoding/json" "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" ) -func (r *NPAPublishersListDataSourceModel) RefreshFromGetResponse(resp *shared.PublishersGetResponse) { - if resp.Data == nil { - r.Data = nil - } else { - r.Data = &Data{} - if len(r.Data.Publishers) > len(resp.Data.Publishers) { - r.Data.Publishers = r.Data.Publishers[:len(resp.Data.Publishers)] - } - for publishersCount, publishersItem := range resp.Data.Publishers { - var publishers1 Publisher - publishers1.AppsCount = types.Int64Value(publishersItem.AppsCount) - if publishersItem.Assessment.Assessment != nil { - publishers1.Assessment.Assessment = &Assessment{} - publishers1.Assessment.Assessment.EeeSupport = types.BoolValue(publishersItem.Assessment.Assessment.EeeSupport) - publishers1.Assessment.Assessment.HddFree = types.StringValue(publishersItem.Assessment.Assessment.HddFree) - publishers1.Assessment.Assessment.HddTotal = types.StringValue(publishersItem.Assessment.Assessment.HddTotal) - publishers1.Assessment.Assessment.IPAddress = types.StringValue(publishersItem.Assessment.Assessment.IPAddress) - publishers1.Assessment.Assessment.Latency = types.Int64Value(publishersItem.Assessment.Assessment.Latency) - publishers1.Assessment.Assessment.Version = types.StringValue(publishersItem.Assessment.Assessment.Version) - } - if publishersItem.Assessment.Two != nil { - publishers1.Assessment.Two = &PublisherBulkItemAssessment{} - } - publishers1.CommonName = types.StringValue(publishersItem.CommonName) - publishers1.ConnectedApps = nil - for _, v := range publishersItem.ConnectedApps { - publishers1.ConnectedApps = append(publishers1.ConnectedApps, types.StringValue(v)) +func (r *NPAPublishersListDataSourceModel) RefreshFromSharedPublishersGetResponse(resp *shared.PublishersGetResponse) { + if resp != nil { + if resp.Data == nil { + r.Data = nil + } else { + r.Data = &Data{} + if len(r.Data.Publishers) > len(resp.Data.Publishers) { + r.Data.Publishers = r.Data.Publishers[:len(resp.Data.Publishers)] } - publishers1.Lbrokerconnect = types.BoolValue(publishersItem.Lbrokerconnect) - publishers1.PublisherID = types.Int64Value(publishersItem.PublisherID) - publishers1.PublisherName = types.StringValue(publishersItem.PublisherName) - publishers1.PublisherUpgradeProfilesExternalID = types.Int64Value(publishersItem.PublisherUpgradeProfilesExternalID) - publishers1.Registered = types.BoolValue(publishersItem.Registered) - publishers1.Status = types.StringValue(publishersItem.Status) - if publishersItem.StitcherID.Integer != nil { + for publishersCount, publishersItem := range resp.Data.Publishers { + var publishers1 Publisher + publishers1.AppsCount = types.Int64Value(publishersItem.AppsCount) + if publishersItem.Assessment.Two != nil { + publishers1.Assessment.Two = &PublisherBulkItemAssessment{} + } + if publishersItem.Assessment.Assessment != nil { + publishers1.Assessment.Assessment = &Assessment{} + publishers1.Assessment.Assessment.EeeSupport = types.BoolValue(publishersItem.Assessment.Assessment.EeeSupport) + publishers1.Assessment.Assessment.HddFree = types.StringValue(publishersItem.Assessment.Assessment.HddFree) + publishers1.Assessment.Assessment.HddTotal = types.StringValue(publishersItem.Assessment.Assessment.HddTotal) + publishers1.Assessment.Assessment.IPAddress = types.StringValue(publishersItem.Assessment.Assessment.IPAddress) + publishers1.Assessment.Assessment.Latency = types.Int64Value(publishersItem.Assessment.Assessment.Latency) + publishers1.Assessment.Assessment.Version = types.StringValue(publishersItem.Assessment.Assessment.Version) + } + publishers1.CommonName = types.StringValue(publishersItem.CommonName) + publishers1.ConnectedApps = nil + for _, v := range publishersItem.ConnectedApps { + publishers1.ConnectedApps = append(publishers1.ConnectedApps, types.StringValue(v)) + } + publishers1.Lbrokerconnect = types.BoolValue(publishersItem.Lbrokerconnect) + publishers1.PublisherID = types.Int64Value(publishersItem.PublisherID) + publishers1.PublisherName = types.StringValue(publishersItem.PublisherName) + publishers1.PublisherUpgradeProfilesExternalID = types.Int64Value(publishersItem.PublisherUpgradeProfilesExternalID) + publishers1.Registered = types.BoolValue(publishersItem.Registered) + publishers1.Status = types.StringValue(publishersItem.Status) if publishersItem.StitcherID.Integer != nil { - publishers1.StitcherID.Integer = types.Int64Value(*publishersItem.StitcherID.Integer) + publishers1.StitcherID.Integer = types.Int64PointerValue(publishersItem.StitcherID.Integer) + } + if publishersItem.StitcherID.StitcherID2 != nil { + publishers1.StitcherID.Two = &PublisherBulkItemAssessment{} + } + publishers1.Tags = nil + for _, tagsItem := range publishersItem.Tags { + var tags1 types.String + tags1Result, _ := json.Marshal(tagsItem) + tags1 = types.StringValue(string(tags1Result)) + publishers1.Tags = append(publishers1.Tags, tags1) + } + if publishersItem.UpgradeFailedReason.UpgradeFailedReason2 != nil { + publishers1.UpgradeFailedReason.Two = &PublisherBulkItemAssessment{} + } + if publishersItem.UpgradeFailedReason.UpgradeFailedReason != nil { + publishers1.UpgradeFailedReason.UpgradeFailedReason = &UpgradeFailedReason{} + publishers1.UpgradeFailedReason.UpgradeFailedReason.Detail = types.StringValue(publishersItem.UpgradeFailedReason.UpgradeFailedReason.Detail) + publishers1.UpgradeFailedReason.UpgradeFailedReason.ErrorCode = types.Int64Value(publishersItem.UpgradeFailedReason.UpgradeFailedReason.ErrorCode) + publishers1.UpgradeFailedReason.UpgradeFailedReason.Timestamp = types.Int64Value(publishersItem.UpgradeFailedReason.UpgradeFailedReason.Timestamp) + publishers1.UpgradeFailedReason.UpgradeFailedReason.Version = types.StringValue(publishersItem.UpgradeFailedReason.UpgradeFailedReason.Version) + } + publishers1.UpgradeRequest = types.BoolValue(publishersItem.UpgradeRequest) + publishers1.UpgradeStatus.Upstat = types.StringValue(publishersItem.UpgradeStatus.Upstat) + if publishersCount+1 > len(r.Data.Publishers) { + r.Data.Publishers = append(r.Data.Publishers, publishers1) } else { - publishers1.StitcherID.Integer = types.Int64Null() + r.Data.Publishers[publishersCount].AppsCount = publishers1.AppsCount + r.Data.Publishers[publishersCount].Assessment = publishers1.Assessment + r.Data.Publishers[publishersCount].CommonName = publishers1.CommonName + r.Data.Publishers[publishersCount].ConnectedApps = publishers1.ConnectedApps + r.Data.Publishers[publishersCount].Lbrokerconnect = publishers1.Lbrokerconnect + r.Data.Publishers[publishersCount].PublisherID = publishers1.PublisherID + r.Data.Publishers[publishersCount].PublisherName = publishers1.PublisherName + r.Data.Publishers[publishersCount].PublisherUpgradeProfilesExternalID = publishers1.PublisherUpgradeProfilesExternalID + r.Data.Publishers[publishersCount].Registered = publishers1.Registered + r.Data.Publishers[publishersCount].Status = publishers1.Status + r.Data.Publishers[publishersCount].StitcherID = publishers1.StitcherID + r.Data.Publishers[publishersCount].Tags = publishers1.Tags + r.Data.Publishers[publishersCount].UpgradeFailedReason = publishers1.UpgradeFailedReason + r.Data.Publishers[publishersCount].UpgradeRequest = publishers1.UpgradeRequest + r.Data.Publishers[publishersCount].UpgradeStatus = publishers1.UpgradeStatus } } - if publishersItem.StitcherID.Publisher2 != nil { - publishers1.StitcherID.Two = &PublisherBulkItemAssessment{} - } - publishers1.Tags = nil - for _, tagsItem := range publishersItem.Tags { - var tags1 types.String - tags1Result, _ := json.Marshal(tagsItem) - tags1 = types.StringValue(string(tags1Result)) - publishers1.Tags = append(publishers1.Tags, tags1) - } - if publishersItem.UpgradeFailedReason.UpgradeFailedReason != nil { - publishers1.UpgradeFailedReason.UpgradeFailedReason = &UpgradeFailedReason{} - publishers1.UpgradeFailedReason.UpgradeFailedReason.Detail = types.StringValue(publishersItem.UpgradeFailedReason.UpgradeFailedReason.Detail) - publishers1.UpgradeFailedReason.UpgradeFailedReason.ErrorCode = types.Int64Value(publishersItem.UpgradeFailedReason.UpgradeFailedReason.ErrorCode) - publishers1.UpgradeFailedReason.UpgradeFailedReason.Timestamp = types.Int64Value(publishersItem.UpgradeFailedReason.UpgradeFailedReason.Timestamp) - publishers1.UpgradeFailedReason.UpgradeFailedReason.Version = types.StringValue(publishersItem.UpgradeFailedReason.UpgradeFailedReason.Version) - } - if publishersItem.UpgradeFailedReason.PublisherSchemas2 != nil { - publishers1.UpgradeFailedReason.Two = &PublisherBulkItemAssessment{} - } - publishers1.UpgradeRequest = types.BoolValue(publishersItem.UpgradeRequest) - publishers1.UpgradeStatus.Upstat = types.StringValue(publishersItem.UpgradeStatus.Upstat) - if publishersCount+1 > len(r.Data.Publishers) { - r.Data.Publishers = append(r.Data.Publishers, publishers1) - } else { - r.Data.Publishers[publishersCount].AppsCount = publishers1.AppsCount - r.Data.Publishers[publishersCount].Assessment = publishers1.Assessment - r.Data.Publishers[publishersCount].CommonName = publishers1.CommonName - r.Data.Publishers[publishersCount].ConnectedApps = publishers1.ConnectedApps - r.Data.Publishers[publishersCount].Lbrokerconnect = publishers1.Lbrokerconnect - r.Data.Publishers[publishersCount].PublisherID = publishers1.PublisherID - r.Data.Publishers[publishersCount].PublisherName = publishers1.PublisherName - r.Data.Publishers[publishersCount].PublisherUpgradeProfilesExternalID = publishers1.PublisherUpgradeProfilesExternalID - r.Data.Publishers[publishersCount].Registered = publishers1.Registered - r.Data.Publishers[publishersCount].Status = publishers1.Status - r.Data.Publishers[publishersCount].StitcherID = publishers1.StitcherID - r.Data.Publishers[publishersCount].Tags = publishers1.Tags - r.Data.Publishers[publishersCount].UpgradeFailedReason = publishers1.UpgradeFailedReason - r.Data.Publishers[publishersCount].UpgradeRequest = publishers1.UpgradeRequest - r.Data.Publishers[publishersCount].UpgradeStatus = publishers1.UpgradeStatus - } } - } - if resp.Status != nil { - r.Status = types.StringValue(*resp.Status) - } else { - r.Status = types.StringNull() - } - if resp.Total != nil { - r.Total = types.Int64Value(int64(*resp.Total)) - } else { - r.Total = types.Int64Null() + r.Status = types.StringPointerValue(resp.Status) + if resp.Total != nil { + r.Total = types.Int64Value(int64(*resp.Total)) + } else { + r.Total = types.Int64Null() + } } } diff --git a/internal/provider/npapublishersreleaseslist_data_source.go b/internal/provider/npapublishersreleaseslist_data_source.go index 39db729..50ce58a 100644 --- a/internal/provider/npapublishersreleaseslist_data_source.go +++ b/internal/provider/npapublishersreleaseslist_data_source.go @@ -5,13 +5,12 @@ package provider import ( "context" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" - "github.com/hashicorp/terraform-plugin-framework/datasource" "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -24,7 +23,7 @@ func NewNPAPublishersReleasesListDataSource() datasource.DataSource { // NPAPublishersReleasesListDataSource is the data source implementation. type NPAPublishersReleasesListDataSource struct { - client *sdk.SDK + client *sdk.TerraformProviderNs } // NPAPublishersReleasesListDataSourceModel describes the data model. @@ -79,12 +78,12 @@ func (r *NPAPublishersReleasesListDataSource) Configure(ctx context.Context, req return } - client, ok := req.ProviderData.(*sdk.SDK) + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) if !ok { resp.Diagnostics.AddError( "Unexpected DataSource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), ) return @@ -140,7 +139,7 @@ func (r *NPAPublishersReleasesListDataSource) Read(ctx context.Context, req data resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) return } - data.RefreshFromGetResponse(res.PublishersReleaseGetResponse) + data.RefreshFromSharedPublishersReleaseGetResponse(res.PublishersReleaseGetResponse) // Save updated data into Terraform state resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) diff --git a/internal/provider/npapublishersreleaseslist_data_source_sdk.go b/internal/provider/npapublishersreleaseslist_data_source_sdk.go index 7ba97e3..555c174 100644 --- a/internal/provider/npapublishersreleaseslist_data_source_sdk.go +++ b/internal/provider/npapublishersreleaseslist_data_source_sdk.go @@ -4,41 +4,31 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" ) -func (r *NPAPublishersReleasesListDataSourceModel) RefreshFromGetResponse(resp *shared.PublishersReleaseGetResponse) { - if len(r.Data) > len(resp.Data) { - r.Data = r.Data[:len(resp.Data)] - } - for dataCount, dataItem := range resp.Data { - var data1 ReleaseItem - if dataItem.DockerTag != nil { - data1.DockerTag = types.StringValue(*dataItem.DockerTag) - } else { - data1.DockerTag = types.StringNull() - } - if dataItem.Name != nil { - data1.Name = types.StringValue(*dataItem.Name) - } else { - data1.Name = types.StringNull() +func (r *NPAPublishersReleasesListDataSourceModel) RefreshFromSharedPublishersReleaseGetResponse(resp *shared.PublishersReleaseGetResponse) { + if resp != nil { + if len(r.Data) > len(resp.Data) { + r.Data = r.Data[:len(resp.Data)] } - if dataItem.Version != nil { - data1.Version = types.StringValue(*dataItem.Version) - } else { - data1.Version = types.StringNull() + for dataCount, dataItem := range resp.Data { + var data1 ReleaseItem + data1.DockerTag = types.StringPointerValue(dataItem.DockerTag) + data1.Name = types.StringPointerValue(dataItem.Name) + data1.Version = types.StringPointerValue(dataItem.Version) + if dataCount+1 > len(r.Data) { + r.Data = append(r.Data, data1) + } else { + r.Data[dataCount].DockerTag = data1.DockerTag + r.Data[dataCount].Name = data1.Name + r.Data[dataCount].Version = data1.Version + } } - if dataCount+1 > len(r.Data) { - r.Data = append(r.Data, data1) + if resp.Status != nil { + r.Status = types.StringValue(string(*resp.Status)) } else { - r.Data[dataCount].DockerTag = data1.DockerTag - r.Data[dataCount].Name = data1.Name - r.Data[dataCount].Version = data1.Version + r.Status = types.StringNull() } } - if resp.Status != nil { - r.Status = types.StringValue(string(*resp.Status)) - } else { - r.Status = types.StringNull() - } } diff --git a/internal/provider/npapublisherupgradeprofile_data_source.go b/internal/provider/npapublisherupgradeprofile_data_source.go deleted file mode 100644 index 5c3e633..0000000 --- a/internal/provider/npapublisherupgradeprofile_data_source.go +++ /dev/null @@ -1,144 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "context" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" - - "github.com/hashicorp/terraform-plugin-framework/datasource" - "github.com/hashicorp/terraform-plugin-framework/datasource/schema" - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/hashicorp/terraform-plugin-framework/types/basetypes" -) - -// Ensure provider defined types fully satisfy framework interfaces. -var _ datasource.DataSource = &NPAPublisherUpgradeProfileDataSource{} -var _ datasource.DataSourceWithConfigure = &NPAPublisherUpgradeProfileDataSource{} - -func NewNPAPublisherUpgradeProfileDataSource() datasource.DataSource { - return &NPAPublisherUpgradeProfileDataSource{} -} - -// NPAPublisherUpgradeProfileDataSource is the data source implementation. -type NPAPublisherUpgradeProfileDataSource struct { - client *sdk.SDK -} - -// NPAPublisherUpgradeProfileDataSourceModel describes the data model. -type NPAPublisherUpgradeProfileDataSourceModel struct { - DockerTag types.String `tfsdk:"docker_tag"` - Enabled types.Bool `tfsdk:"enabled"` - Frequency types.String `tfsdk:"frequency"` - ID types.Int64 `tfsdk:"id"` - Name types.String `tfsdk:"name"` - ReleaseType types.String `tfsdk:"release_type"` - Timezone types.String `tfsdk:"timezone"` -} - -// Metadata returns the data source type name. -func (r *NPAPublisherUpgradeProfileDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) { - resp.TypeName = req.ProviderTypeName + "_npa_publisher_upgrade_profile" -} - -// Schema defines the schema for the data source. -func (r *NPAPublisherUpgradeProfileDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) { - resp.Schema = schema.Schema{ - MarkdownDescription: "NPAPublisherUpgradeProfile DataSource", - - Attributes: map[string]schema.Attribute{ - "docker_tag": schema.StringAttribute{ - Computed: true, - }, - "enabled": schema.BoolAttribute{ - Computed: true, - }, - "frequency": schema.StringAttribute{ - Computed: true, - }, - "id": schema.Int64Attribute{ - Required: true, - Description: `publisher upgrade profile id`, - }, - "name": schema.StringAttribute{ - Computed: true, - }, - "release_type": schema.StringAttribute{ - Computed: true, - }, - "timezone": schema.StringAttribute{ - Computed: true, - }, - }, - } -} - -func (r *NPAPublisherUpgradeProfileDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) { - // Prevent panic if the provider has not been configured. - if req.ProviderData == nil { - return - } - - client, ok := req.ProviderData.(*sdk.SDK) - - if !ok { - resp.Diagnostics.AddError( - "Unexpected DataSource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), - ) - - return - } - - r.client = client -} - -func (r *NPAPublisherUpgradeProfileDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) { - var data *NPAPublisherUpgradeProfileDataSourceModel - var item types.Object - - resp.Diagnostics.Append(req.Config.Get(ctx, &item)...) - if resp.Diagnostics.HasError() { - return - } - - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ - UnhandledNullAsEmpty: true, - UnhandledUnknownAsEmpty: true, - })...) - - if resp.Diagnostics.HasError() { - return - } - - upgradeProfileID := int(data.ID.ValueInt64()) - request := operations.GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest{ - UpgradeProfileID: upgradeProfileID, - } - res, err := r.client.NPAPublisherUpgradeProfiles.Read(ctx, request) - if err != nil { - resp.Diagnostics.AddError("failure to invoke API", err.Error()) - if res != nil && res.RawResponse != nil { - resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) - } - return - } - if res == nil { - resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) - return - } - if res.StatusCode != 200 { - resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) - return - } - if res.PublisherUpgradeProfileResponse == nil || res.PublisherUpgradeProfileResponse.Data == nil { - resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) - return - } - data.RefreshFromGetResponse(res.PublisherUpgradeProfileResponse.Data) - - // Save updated data into Terraform state - resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) -} diff --git a/internal/provider/npapublisherupgradeprofile_data_source_sdk.go b/internal/provider/npapublisherupgradeprofile_data_source_sdk.go deleted file mode 100644 index ecc9f7f..0000000 --- a/internal/provider/npapublisherupgradeprofile_data_source_sdk.go +++ /dev/null @@ -1,46 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" -) - -func (r *NPAPublisherUpgradeProfileDataSourceModel) RefreshFromGetResponse(resp *shared.PublisherUpgradeProfileResponseData) { - if resp.DockerTag != nil { - r.DockerTag = types.StringValue(*resp.DockerTag) - } else { - r.DockerTag = types.StringNull() - } - if resp.Enabled != nil { - r.Enabled = types.BoolValue(*resp.Enabled) - } else { - r.Enabled = types.BoolNull() - } - if resp.Frequency != nil { - r.Frequency = types.StringValue(*resp.Frequency) - } else { - r.Frequency = types.StringNull() - } - if resp.ID != nil { - r.ID = types.Int64Value(int64(*resp.ID)) - } else { - r.ID = types.Int64Null() - } - if resp.Name != nil { - r.Name = types.StringValue(*resp.Name) - } else { - r.Name = types.StringNull() - } - if resp.ReleaseType != nil { - r.ReleaseType = types.StringValue(*resp.ReleaseType) - } else { - r.ReleaseType = types.StringNull() - } - if resp.Timezone != nil { - r.Timezone = types.StringValue(*resp.Timezone) - } else { - r.Timezone = types.StringNull() - } -} diff --git a/internal/provider/npapublisherupgradeprofile_resource.go b/internal/provider/npapublisherupgradeprofile_resource.go deleted file mode 100644 index 8850553..0000000 --- a/internal/provider/npapublisherupgradeprofile_resource.go +++ /dev/null @@ -1,301 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "context" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" - - "github.com/hashicorp/terraform-plugin-framework/path" - "github.com/hashicorp/terraform-plugin-framework/resource" - "github.com/hashicorp/terraform-plugin-framework/resource/schema" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" - "github.com/hashicorp/terraform-plugin-framework/schema/validator" - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/hashicorp/terraform-plugin-framework/types/basetypes" - "github.com/netskope/terraform-provider-ns/internal/validators" - "strconv" -) - -// Ensure provider defined types fully satisfy framework interfaces. -var _ resource.Resource = &NPAPublisherUpgradeProfileResource{} -var _ resource.ResourceWithImportState = &NPAPublisherUpgradeProfileResource{} - -func NewNPAPublisherUpgradeProfileResource() resource.Resource { - return &NPAPublisherUpgradeProfileResource{} -} - -// NPAPublisherUpgradeProfileResource defines the resource implementation. -type NPAPublisherUpgradeProfileResource struct { - client *sdk.SDK -} - -// NPAPublisherUpgradeProfileResourceModel describes the resource data model. -type NPAPublisherUpgradeProfileResourceModel struct { - DockerTag types.String `tfsdk:"docker_tag"` - Enabled types.Bool `tfsdk:"enabled"` - Frequency types.String `tfsdk:"frequency"` - ID types.Int64 `tfsdk:"id"` - Name types.String `tfsdk:"name"` - ReleaseType types.String `tfsdk:"release_type"` - Required types.String `tfsdk:"required"` - Timezone types.String `tfsdk:"timezone"` -} - -func (r *NPAPublisherUpgradeProfileResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) { - resp.TypeName = req.ProviderTypeName + "_npa_publisher_upgrade_profile" -} - -func (r *NPAPublisherUpgradeProfileResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { - resp.Schema = schema.Schema{ - MarkdownDescription: "NPAPublisherUpgradeProfile Resource", - - Attributes: map[string]schema.Attribute{ - "docker_tag": schema.StringAttribute{ - Computed: true, - Optional: true, - }, - "enabled": schema.BoolAttribute{ - Computed: true, - Optional: true, - }, - "frequency": schema.StringAttribute{ - Computed: true, - Optional: true, - }, - "id": schema.Int64Attribute{ - Computed: true, - }, - "name": schema.StringAttribute{ - Computed: true, - Optional: true, - }, - "release_type": schema.StringAttribute{ - Computed: true, - Optional: true, - }, - "required": schema.StringAttribute{ - PlanModifiers: []planmodifier.String{ - stringplanmodifier.RequiresReplace(), - }, - Optional: true, - Description: `Parsed as JSON.`, - Validators: []validator.String{ - validators.IsValidJSON(), - }, - }, - "timezone": schema.StringAttribute{ - Computed: true, - Optional: true, - }, - }, - } -} - -func (r *NPAPublisherUpgradeProfileResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) { - // Prevent panic if the provider has not been configured. - if req.ProviderData == nil { - return - } - - client, ok := req.ProviderData.(*sdk.SDK) - - if !ok { - resp.Diagnostics.AddError( - "Unexpected Resource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), - ) - - return - } - - r.client = client -} - -func (r *NPAPublisherUpgradeProfileResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { - var data *NPAPublisherUpgradeProfileResourceModel - var item types.Object - - resp.Diagnostics.Append(req.Plan.Get(ctx, &item)...) - if resp.Diagnostics.HasError() { - return - } - - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ - UnhandledNullAsEmpty: true, - UnhandledUnknownAsEmpty: true, - })...) - - if resp.Diagnostics.HasError() { - return - } - - publisherUpgradeProfilePostRequest := data.ToCreateSDKType() - request := operations.PostInfrastructurePublisherupgradeprofilesRequest{ - PublisherUpgradeProfilePostRequest: publisherUpgradeProfilePostRequest, - } - res, err := r.client.NPAPublisherUpgradeProfiles.Create(ctx, request) - if err != nil { - resp.Diagnostics.AddError("failure to invoke API", err.Error()) - if res != nil && res.RawResponse != nil { - resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) - } - return - } - if res == nil { - resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) - return - } - if res.StatusCode != 200 { - resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) - return - } - if res.PublisherUpgradeProfileResponse == nil || res.PublisherUpgradeProfileResponse.Data == nil { - resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) - return - } - data.RefreshFromCreateResponse(res.PublisherUpgradeProfileResponse.Data) - - // Save updated data into Terraform state - resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) -} - -func (r *NPAPublisherUpgradeProfileResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { - var data *NPAPublisherUpgradeProfileResourceModel - var item types.Object - - resp.Diagnostics.Append(req.State.Get(ctx, &item)...) - if resp.Diagnostics.HasError() { - return - } - - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ - UnhandledNullAsEmpty: true, - UnhandledUnknownAsEmpty: true, - })...) - - if resp.Diagnostics.HasError() { - return - } - - upgradeProfileID := int(data.ID.ValueInt64()) - request := operations.GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest{ - UpgradeProfileID: upgradeProfileID, - } - res, err := r.client.NPAPublisherUpgradeProfiles.Read(ctx, request) - if err != nil { - resp.Diagnostics.AddError("failure to invoke API", err.Error()) - if res != nil && res.RawResponse != nil { - resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) - } - return - } - if res == nil { - resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) - return - } - if res.StatusCode != 200 { - resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) - return - } - if res.PublisherUpgradeProfileResponse == nil || res.PublisherUpgradeProfileResponse.Data == nil { - resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) - return - } - data.RefreshFromGetResponse(res.PublisherUpgradeProfileResponse.Data) - - // Save updated data into Terraform state - resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) -} - -func (r *NPAPublisherUpgradeProfileResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { - var data *NPAPublisherUpgradeProfileResourceModel - merge(ctx, req, resp, &data) - if resp.Diagnostics.HasError() { - return - } - - publisherUpgradeProfilePutRequest := *data.ToUpdateSDKType() - upgradeProfileID := int(data.ID.ValueInt64()) - request := operations.PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest{ - PublisherUpgradeProfilePutRequest: publisherUpgradeProfilePutRequest, - UpgradeProfileID: upgradeProfileID, - } - res, err := r.client.NPAPublisherUpgradeProfiles.Update(ctx, request) - if err != nil { - resp.Diagnostics.AddError("failure to invoke API", err.Error()) - if res != nil && res.RawResponse != nil { - resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) - } - return - } - if res == nil { - resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) - return - } - if res.StatusCode != 200 { - resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) - return - } - if res.PublisherUpgradeProfileResponse == nil || res.PublisherUpgradeProfileResponse.Data == nil { - resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) - return - } - data.RefreshFromUpdateResponse(res.PublisherUpgradeProfileResponse.Data) - - // Save updated data into Terraform state - resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) -} - -func (r *NPAPublisherUpgradeProfileResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { - var data *NPAPublisherUpgradeProfileResourceModel - var item types.Object - - resp.Diagnostics.Append(req.State.Get(ctx, &item)...) - if resp.Diagnostics.HasError() { - return - } - - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ - UnhandledNullAsEmpty: true, - UnhandledUnknownAsEmpty: true, - })...) - - if resp.Diagnostics.HasError() { - return - } - - upgradeProfileID := int(data.ID.ValueInt64()) - request := operations.DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest{ - UpgradeProfileID: upgradeProfileID, - } - res, err := r.client.NPAPublisherUpgradeProfiles.Delete(ctx, request) - if err != nil { - resp.Diagnostics.AddError("failure to invoke API", err.Error()) - if res != nil && res.RawResponse != nil { - resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) - } - return - } - if res == nil { - resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) - return - } - if res.StatusCode != 200 { - resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) - return - } - -} - -func (r *NPAPublisherUpgradeProfileResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { - id, err := strconv.Atoi(req.ID) - if err != nil { - resp.Diagnostics.AddError("Invalid ID", fmt.Sprintf("ID must be an integer but was %s", req.ID)) - } - - resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("id"), int64(id))...) -} diff --git a/internal/provider/npapublisherupgradeprofile_resource_sdk.go b/internal/provider/npapublisherupgradeprofile_resource_sdk.go deleted file mode 100644 index 4826da1..0000000 --- a/internal/provider/npapublisherupgradeprofile_resource_sdk.go +++ /dev/null @@ -1,173 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "encoding/json" - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" -) - -func (r *NPAPublisherUpgradeProfileResourceModel) ToCreateSDKType() *shared.PublisherUpgradeProfilePostRequest { - dockerTag := new(string) - if !r.DockerTag.IsUnknown() && !r.DockerTag.IsNull() { - *dockerTag = r.DockerTag.ValueString() - } else { - dockerTag = nil - } - enabled := new(bool) - if !r.Enabled.IsUnknown() && !r.Enabled.IsNull() { - *enabled = r.Enabled.ValueBool() - } else { - enabled = nil - } - frequency := new(string) - if !r.Frequency.IsUnknown() && !r.Frequency.IsNull() { - *frequency = r.Frequency.ValueString() - } else { - frequency = nil - } - name := new(string) - if !r.Name.IsUnknown() && !r.Name.IsNull() { - *name = r.Name.ValueString() - } else { - name = nil - } - releaseType := new(string) - if !r.ReleaseType.IsUnknown() && !r.ReleaseType.IsNull() { - *releaseType = r.ReleaseType.ValueString() - } else { - releaseType = nil - } - var required interface{} - if !r.Required.IsUnknown() && !r.Required.IsNull() { - _ = json.Unmarshal([]byte(r.Required.ValueString()), &required) - } - timezone := new(string) - if !r.Timezone.IsUnknown() && !r.Timezone.IsNull() { - *timezone = r.Timezone.ValueString() - } else { - timezone = nil - } - out := shared.PublisherUpgradeProfilePostRequest{ - DockerTag: dockerTag, - Enabled: enabled, - Frequency: frequency, - Name: name, - ReleaseType: releaseType, - Required: required, - Timezone: timezone, - } - return &out -} - -func (r *NPAPublisherUpgradeProfileResourceModel) ToGetSDKType() *shared.PublisherUpgradeProfilePostRequest { - out := r.ToCreateSDKType() - return out -} - -func (r *NPAPublisherUpgradeProfileResourceModel) ToUpdateSDKType() *shared.PublisherUpgradeProfilePutRequest { - dockerTag := new(string) - if !r.DockerTag.IsUnknown() && !r.DockerTag.IsNull() { - *dockerTag = r.DockerTag.ValueString() - } else { - dockerTag = nil - } - enabled := new(bool) - if !r.Enabled.IsUnknown() && !r.Enabled.IsNull() { - *enabled = r.Enabled.ValueBool() - } else { - enabled = nil - } - frequency := new(string) - if !r.Frequency.IsUnknown() && !r.Frequency.IsNull() { - *frequency = r.Frequency.ValueString() - } else { - frequency = nil - } - id := new(int) - if !r.ID.IsUnknown() && !r.ID.IsNull() { - *id = int(r.ID.ValueInt64()) - } else { - id = nil - } - name := new(string) - if !r.Name.IsUnknown() && !r.Name.IsNull() { - *name = r.Name.ValueString() - } else { - name = nil - } - releaseType := new(string) - if !r.ReleaseType.IsUnknown() && !r.ReleaseType.IsNull() { - *releaseType = r.ReleaseType.ValueString() - } else { - releaseType = nil - } - timezone := new(string) - if !r.Timezone.IsUnknown() && !r.Timezone.IsNull() { - *timezone = r.Timezone.ValueString() - } else { - timezone = nil - } - out := shared.PublisherUpgradeProfilePutRequest{ - DockerTag: dockerTag, - Enabled: enabled, - Frequency: frequency, - ID: id, - Name: name, - ReleaseType: releaseType, - Timezone: timezone, - } - return &out -} - -func (r *NPAPublisherUpgradeProfileResourceModel) ToDeleteSDKType() *shared.PublisherUpgradeProfilePostRequest { - out := r.ToCreateSDKType() - return out -} - -func (r *NPAPublisherUpgradeProfileResourceModel) RefreshFromGetResponse(resp *shared.PublisherUpgradeProfileResponseData) { - if resp.DockerTag != nil { - r.DockerTag = types.StringValue(*resp.DockerTag) - } else { - r.DockerTag = types.StringNull() - } - if resp.Enabled != nil { - r.Enabled = types.BoolValue(*resp.Enabled) - } else { - r.Enabled = types.BoolNull() - } - if resp.Frequency != nil { - r.Frequency = types.StringValue(*resp.Frequency) - } else { - r.Frequency = types.StringNull() - } - if resp.ID != nil { - r.ID = types.Int64Value(int64(*resp.ID)) - } else { - r.ID = types.Int64Null() - } - if resp.Name != nil { - r.Name = types.StringValue(*resp.Name) - } else { - r.Name = types.StringNull() - } - if resp.ReleaseType != nil { - r.ReleaseType = types.StringValue(*resp.ReleaseType) - } else { - r.ReleaseType = types.StringNull() - } - if resp.Timezone != nil { - r.Timezone = types.StringValue(*resp.Timezone) - } else { - r.Timezone = types.StringNull() - } -} - -func (r *NPAPublisherUpgradeProfileResourceModel) RefreshFromCreateResponse(resp *shared.PublisherUpgradeProfileResponseData) { - r.RefreshFromGetResponse(resp) -} - -func (r *NPAPublisherUpgradeProfileResourceModel) RefreshFromUpdateResponse(resp *shared.PublisherUpgradeProfileResponseData) { - r.RefreshFromGetResponse(resp) -} diff --git a/internal/provider/npapublisherupgradeprofilelist_data_source.go b/internal/provider/npapublisherupgradeprofilelist_data_source.go deleted file mode 100644 index d2a20bd..0000000 --- a/internal/provider/npapublisherupgradeprofilelist_data_source.go +++ /dev/null @@ -1,171 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "context" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" - - "github.com/hashicorp/terraform-plugin-framework/datasource" - "github.com/hashicorp/terraform-plugin-framework/datasource/schema" - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/hashicorp/terraform-plugin-framework/types/basetypes" -) - -// Ensure provider defined types fully satisfy framework interfaces. -var _ datasource.DataSource = &NPAPublisherUpgradeProfileListDataSource{} -var _ datasource.DataSourceWithConfigure = &NPAPublisherUpgradeProfileListDataSource{} - -func NewNPAPublisherUpgradeProfileListDataSource() datasource.DataSource { - return &NPAPublisherUpgradeProfileListDataSource{} -} - -// NPAPublisherUpgradeProfileListDataSource is the data source implementation. -type NPAPublisherUpgradeProfileListDataSource struct { - client *sdk.SDK -} - -// NPAPublisherUpgradeProfileListDataSourceModel describes the data model. -type NPAPublisherUpgradeProfileListDataSourceModel struct { - Data *PublisherUpgradeProfileGetResponseData `tfsdk:"data"` - Total types.Int64 `tfsdk:"total"` -} - -// Metadata returns the data source type name. -func (r *NPAPublisherUpgradeProfileListDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) { - resp.TypeName = req.ProviderTypeName + "_npa_publisher_upgrade_profile_list" -} - -// Schema defines the schema for the data source. -func (r *NPAPublisherUpgradeProfileListDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) { - resp.Schema = schema.Schema{ - MarkdownDescription: "NPAPublisherUpgradeProfileList DataSource", - - Attributes: map[string]schema.Attribute{ - "data": schema.SingleNestedAttribute{ - Computed: true, - Attributes: map[string]schema.Attribute{ - "upgrade_profiles": schema.ListNestedAttribute{ - Computed: true, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "created_at": schema.StringAttribute{ - Computed: true, - }, - "docker_tag": schema.StringAttribute{ - Computed: true, - }, - "enabled": schema.BoolAttribute{ - Computed: true, - }, - "external_id": schema.Int64Attribute{ - Computed: true, - }, - "frequency": schema.StringAttribute{ - Computed: true, - }, - "id": schema.Int64Attribute{ - Computed: true, - }, - "name": schema.StringAttribute{ - Computed: true, - }, - "next_update_time": schema.Int64Attribute{ - Computed: true, - }, - "num_associated_publisher": schema.Int64Attribute{ - Computed: true, - }, - "release_type": schema.StringAttribute{ - Computed: true, - }, - "timezone": schema.StringAttribute{ - Computed: true, - }, - "updated_at": schema.StringAttribute{ - Computed: true, - }, - "upgrading_stage": schema.Int64Attribute{ - Computed: true, - }, - "will_start": schema.BoolAttribute{ - Computed: true, - }, - }, - }, - }, - }, - }, - "total": schema.Int64Attribute{ - Computed: true, - }, - }, - } -} - -func (r *NPAPublisherUpgradeProfileListDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) { - // Prevent panic if the provider has not been configured. - if req.ProviderData == nil { - return - } - - client, ok := req.ProviderData.(*sdk.SDK) - - if !ok { - resp.Diagnostics.AddError( - "Unexpected DataSource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), - ) - - return - } - - r.client = client -} - -func (r *NPAPublisherUpgradeProfileListDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) { - var data *NPAPublisherUpgradeProfileListDataSourceModel - var item types.Object - - resp.Diagnostics.Append(req.Config.Get(ctx, &item)...) - if resp.Diagnostics.HasError() { - return - } - - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ - UnhandledNullAsEmpty: true, - UnhandledUnknownAsEmpty: true, - })...) - - if resp.Diagnostics.HasError() { - return - } - - request := operations.GetInfrastructurePublisherupgradeprofilesRequest{} - res, err := r.client.NPAPublisherUpgradeProfiles.ListObjects(ctx, request) - if err != nil { - resp.Diagnostics.AddError("failure to invoke API", err.Error()) - if res != nil && res.RawResponse != nil { - resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) - } - return - } - if res == nil { - resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) - return - } - if res.StatusCode != 200 { - resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) - return - } - if res.PublisherUpgradeProfileGetResponse == nil { - resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) - return - } - data.RefreshFromGetResponse(res.PublisherUpgradeProfileGetResponse) - - // Save updated data into Terraform state - resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) -} diff --git a/internal/provider/npapublisherupgradeprofilelist_data_source_sdk.go b/internal/provider/npapublisherupgradeprofilelist_data_source_sdk.go deleted file mode 100644 index a099b94..0000000 --- a/internal/provider/npapublisherupgradeprofilelist_data_source_sdk.go +++ /dev/null @@ -1,115 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" -) - -func (r *NPAPublisherUpgradeProfileListDataSourceModel) RefreshFromGetResponse(resp *shared.PublisherUpgradeProfileGetResponse) { - if resp.Data == nil { - r.Data = nil - } else { - r.Data = &PublisherUpgradeProfileGetResponseData{} - if len(r.Data.UpgradeProfiles) > len(resp.Data.UpgradeProfiles) { - r.Data.UpgradeProfiles = r.Data.UpgradeProfiles[:len(resp.Data.UpgradeProfiles)] - } - for upgradeProfilesCount, upgradeProfilesItem := range resp.Data.UpgradeProfiles { - var upgradeProfiles1 UpgradeProfiles - if upgradeProfilesItem.CreatedAt != nil { - upgradeProfiles1.CreatedAt = types.StringValue(*upgradeProfilesItem.CreatedAt) - } else { - upgradeProfiles1.CreatedAt = types.StringNull() - } - if upgradeProfilesItem.DockerTag != nil { - upgradeProfiles1.DockerTag = types.StringValue(*upgradeProfilesItem.DockerTag) - } else { - upgradeProfiles1.DockerTag = types.StringNull() - } - if upgradeProfilesItem.Enabled != nil { - upgradeProfiles1.Enabled = types.BoolValue(*upgradeProfilesItem.Enabled) - } else { - upgradeProfiles1.Enabled = types.BoolNull() - } - if upgradeProfilesItem.ExternalID != nil { - upgradeProfiles1.ExternalID = types.Int64Value(int64(*upgradeProfilesItem.ExternalID)) - } else { - upgradeProfiles1.ExternalID = types.Int64Null() - } - if upgradeProfilesItem.Frequency != nil { - upgradeProfiles1.Frequency = types.StringValue(*upgradeProfilesItem.Frequency) - } else { - upgradeProfiles1.Frequency = types.StringNull() - } - if upgradeProfilesItem.ID != nil { - upgradeProfiles1.ID = types.Int64Value(int64(*upgradeProfilesItem.ID)) - } else { - upgradeProfiles1.ID = types.Int64Null() - } - if upgradeProfilesItem.Name != nil { - upgradeProfiles1.Name = types.StringValue(*upgradeProfilesItem.Name) - } else { - upgradeProfiles1.Name = types.StringNull() - } - if upgradeProfilesItem.NextUpdateTime != nil { - upgradeProfiles1.NextUpdateTime = types.Int64Value(int64(*upgradeProfilesItem.NextUpdateTime)) - } else { - upgradeProfiles1.NextUpdateTime = types.Int64Null() - } - if upgradeProfilesItem.NumAssociatedPublisher != nil { - upgradeProfiles1.NumAssociatedPublisher = types.Int64Value(*upgradeProfilesItem.NumAssociatedPublisher) - } else { - upgradeProfiles1.NumAssociatedPublisher = types.Int64Null() - } - if upgradeProfilesItem.ReleaseType != nil { - upgradeProfiles1.ReleaseType = types.StringValue(*upgradeProfilesItem.ReleaseType) - } else { - upgradeProfiles1.ReleaseType = types.StringNull() - } - if upgradeProfilesItem.Timezone != nil { - upgradeProfiles1.Timezone = types.StringValue(*upgradeProfilesItem.Timezone) - } else { - upgradeProfiles1.Timezone = types.StringNull() - } - if upgradeProfilesItem.UpdatedAt != nil { - upgradeProfiles1.UpdatedAt = types.StringValue(*upgradeProfilesItem.UpdatedAt) - } else { - upgradeProfiles1.UpdatedAt = types.StringNull() - } - if upgradeProfilesItem.UpgradingStage != nil { - upgradeProfiles1.UpgradingStage = types.Int64Value(int64(*upgradeProfilesItem.UpgradingStage)) - } else { - upgradeProfiles1.UpgradingStage = types.Int64Null() - } - if upgradeProfilesItem.WillStart != nil { - upgradeProfiles1.WillStart = types.BoolValue(*upgradeProfilesItem.WillStart) - } else { - upgradeProfiles1.WillStart = types.BoolNull() - } - if upgradeProfilesCount+1 > len(r.Data.UpgradeProfiles) { - r.Data.UpgradeProfiles = append(r.Data.UpgradeProfiles, upgradeProfiles1) - } else { - r.Data.UpgradeProfiles[upgradeProfilesCount].CreatedAt = upgradeProfiles1.CreatedAt - r.Data.UpgradeProfiles[upgradeProfilesCount].DockerTag = upgradeProfiles1.DockerTag - r.Data.UpgradeProfiles[upgradeProfilesCount].Enabled = upgradeProfiles1.Enabled - r.Data.UpgradeProfiles[upgradeProfilesCount].ExternalID = upgradeProfiles1.ExternalID - r.Data.UpgradeProfiles[upgradeProfilesCount].Frequency = upgradeProfiles1.Frequency - r.Data.UpgradeProfiles[upgradeProfilesCount].ID = upgradeProfiles1.ID - r.Data.UpgradeProfiles[upgradeProfilesCount].Name = upgradeProfiles1.Name - r.Data.UpgradeProfiles[upgradeProfilesCount].NextUpdateTime = upgradeProfiles1.NextUpdateTime - r.Data.UpgradeProfiles[upgradeProfilesCount].NumAssociatedPublisher = upgradeProfiles1.NumAssociatedPublisher - r.Data.UpgradeProfiles[upgradeProfilesCount].ReleaseType = upgradeProfiles1.ReleaseType - r.Data.UpgradeProfiles[upgradeProfilesCount].Timezone = upgradeProfiles1.Timezone - r.Data.UpgradeProfiles[upgradeProfilesCount].UpdatedAt = upgradeProfiles1.UpdatedAt - r.Data.UpgradeProfiles[upgradeProfilesCount].UpgradingStage = upgradeProfiles1.UpgradingStage - r.Data.UpgradeProfiles[upgradeProfilesCount].WillStart = upgradeProfiles1.WillStart - } - } - } - if resp.Total != nil { - r.Total = types.Int64Value(int64(*resp.Total)) - } else { - r.Total = types.Int64Null() - } -} diff --git a/internal/provider/policygrouplist_data_source.go b/internal/provider/policygrouplist_data_source.go deleted file mode 100644 index 376de95..0000000 --- a/internal/provider/policygrouplist_data_source.go +++ /dev/null @@ -1,205 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "context" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" - - "github.com/hashicorp/terraform-plugin-framework/datasource" - "github.com/hashicorp/terraform-plugin-framework/datasource/schema" - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/hashicorp/terraform-plugin-framework/types/basetypes" -) - -// Ensure provider defined types fully satisfy framework interfaces. -var _ datasource.DataSource = &PolicyGroupListDataSource{} -var _ datasource.DataSourceWithConfigure = &PolicyGroupListDataSource{} - -func NewPolicyGroupListDataSource() datasource.DataSource { - return &PolicyGroupListDataSource{} -} - -// PolicyGroupListDataSource is the data source implementation. -type PolicyGroupListDataSource struct { - client *sdk.SDK -} - -// PolicyGroupListDataSourceModel describes the data model. -type PolicyGroupListDataSourceModel struct { - Data []NpaPolicygroupResponseItem `tfsdk:"data"` - Filter types.String `tfsdk:"filter"` - Limit types.Int64 `tfsdk:"limit"` - Offset types.Int64 `tfsdk:"offset"` - Sortby types.String `tfsdk:"sortby"` - Sortorder types.String `tfsdk:"sortorder"` -} - -// Metadata returns the data source type name. -func (r *PolicyGroupListDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) { - resp.TypeName = req.ProviderTypeName + "_policy_group_list" -} - -// Schema defines the schema for the data source. -func (r *PolicyGroupListDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) { - resp.Schema = schema.Schema{ - MarkdownDescription: "PolicyGroupList DataSource", - - Attributes: map[string]schema.Attribute{ - "data": schema.ListNestedAttribute{ - Computed: true, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "can_be_edited_deleted": schema.StringAttribute{ - Computed: true, - }, - "group_id": schema.StringAttribute{ - Computed: true, - }, - "group_name": schema.StringAttribute{ - Computed: true, - }, - "group_pinned_id": schema.Int64Attribute{ - Computed: true, - }, - "group_prod_id": schema.Int64Attribute{ - Computed: true, - }, - "group_type": schema.StringAttribute{ - Computed: true, - }, - "modify_time": schema.StringAttribute{ - Computed: true, - }, - "modify_type": schema.StringAttribute{ - Computed: true, - }, - }, - }, - }, - "filter": schema.StringAttribute{ - Optional: true, - Description: `Query string based on query operaters`, - }, - "limit": schema.Int64Attribute{ - Optional: true, - Description: `Max number of policy groups to retrieve. Default will be all policy groups.`, - }, - "offset": schema.Int64Attribute{ - Optional: true, - Description: `The offset of the first policy group in the list to retrieve.`, - }, - "sortby": schema.StringAttribute{ - Optional: true, - Description: `Sort retrieved policy group by specified field. Default is policy group id`, - }, - "sortorder": schema.StringAttribute{ - Optional: true, - Description: `Sort in either asc or desc order. The default is asc order`, - }, - }, - } -} - -func (r *PolicyGroupListDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) { - // Prevent panic if the provider has not been configured. - if req.ProviderData == nil { - return - } - - client, ok := req.ProviderData.(*sdk.SDK) - - if !ok { - resp.Diagnostics.AddError( - "Unexpected DataSource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), - ) - - return - } - - r.client = client -} - -func (r *PolicyGroupListDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) { - var data *PolicyGroupListDataSourceModel - var item types.Object - - resp.Diagnostics.Append(req.Config.Get(ctx, &item)...) - if resp.Diagnostics.HasError() { - return - } - - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ - UnhandledNullAsEmpty: true, - UnhandledUnknownAsEmpty: true, - })...) - - if resp.Diagnostics.HasError() { - return - } - - filter := new(string) - if !data.Filter.IsUnknown() && !data.Filter.IsNull() { - *filter = data.Filter.ValueString() - } else { - filter = nil - } - limit := new(int64) - if !data.Limit.IsUnknown() && !data.Limit.IsNull() { - *limit = data.Limit.ValueInt64() - } else { - limit = nil - } - offset := new(int64) - if !data.Offset.IsUnknown() && !data.Offset.IsNull() { - *offset = data.Offset.ValueInt64() - } else { - offset = nil - } - sortby := new(string) - if !data.Sortby.IsUnknown() && !data.Sortby.IsNull() { - *sortby = data.Sortby.ValueString() - } else { - sortby = nil - } - sortorder := new(string) - if !data.Sortorder.IsUnknown() && !data.Sortorder.IsNull() { - *sortorder = data.Sortorder.ValueString() - } else { - sortorder = nil - } - request := operations.GetPolicyNpaPolicygroupsRequest{ - Filter: filter, - Limit: limit, - Offset: offset, - Sortby: sortby, - Sortorder: sortorder, - } - res, err := r.client.GetPolicyNpaPolicygroups(ctx, request) - if err != nil { - resp.Diagnostics.AddError("failure to invoke API", err.Error()) - if res != nil && res.RawResponse != nil { - resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) - } - return - } - if res == nil { - resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) - return - } - if res.StatusCode != 200 { - resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) - return - } - if res.NpaPolicygroupResponse == nil { - resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) - return - } - data.RefreshFromGetResponse(res.NpaPolicygroupResponse) - - // Save updated data into Terraform state - resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) -} diff --git a/internal/provider/policygrouplist_data_source_sdk.go b/internal/provider/policygrouplist_data_source_sdk.go deleted file mode 100644 index bd5899f..0000000 --- a/internal/provider/policygrouplist_data_source_sdk.go +++ /dev/null @@ -1,69 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" -) - -func (r *PolicyGroupListDataSourceModel) RefreshFromGetResponse(resp *shared.NpaPolicygroupResponse) { - if len(r.Data) > len(resp.Data) { - r.Data = r.Data[:len(resp.Data)] - } - for dataCount, dataItem := range resp.Data { - var data1 NpaPolicygroupResponseItem - if dataItem.CanBeEditedDeleted != nil { - data1.CanBeEditedDeleted = types.StringValue(*dataItem.CanBeEditedDeleted) - } else { - data1.CanBeEditedDeleted = types.StringNull() - } - if dataItem.GroupID != nil { - data1.GroupID = types.StringValue(*dataItem.GroupID) - } else { - data1.GroupID = types.StringNull() - } - if dataItem.GroupName != nil { - data1.GroupName = types.StringValue(*dataItem.GroupName) - } else { - data1.GroupName = types.StringNull() - } - if dataItem.GroupPinnedID != nil { - data1.GroupPinnedID = types.Int64Value(*dataItem.GroupPinnedID) - } else { - data1.GroupPinnedID = types.Int64Null() - } - if dataItem.GroupProdID != nil { - data1.GroupProdID = types.Int64Value(*dataItem.GroupProdID) - } else { - data1.GroupProdID = types.Int64Null() - } - if dataItem.GroupType != nil { - data1.GroupType = types.StringValue(*dataItem.GroupType) - } else { - data1.GroupType = types.StringNull() - } - if dataItem.ModifyTime != nil { - data1.ModifyTime = types.StringValue(*dataItem.ModifyTime) - } else { - data1.ModifyTime = types.StringNull() - } - if dataItem.ModifyType != nil { - data1.ModifyType = types.StringValue(*dataItem.ModifyType) - } else { - data1.ModifyType = types.StringNull() - } - if dataCount+1 > len(r.Data) { - r.Data = append(r.Data, data1) - } else { - r.Data[dataCount].CanBeEditedDeleted = data1.CanBeEditedDeleted - r.Data[dataCount].GroupID = data1.GroupID - r.Data[dataCount].GroupName = data1.GroupName - r.Data[dataCount].GroupPinnedID = data1.GroupPinnedID - r.Data[dataCount].GroupProdID = data1.GroupProdID - r.Data[dataCount].GroupType = data1.GroupType - r.Data[dataCount].ModifyTime = data1.ModifyTime - r.Data[dataCount].ModifyType = data1.ModifyType - } - } -} diff --git a/internal/provider/privateapp_resource.go b/internal/provider/privateapp_resource.go deleted file mode 100644 index 8d141cc..0000000 --- a/internal/provider/privateapp_resource.go +++ /dev/null @@ -1,366 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "context" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" - - "github.com/hashicorp/terraform-plugin-framework/resource" - "github.com/hashicorp/terraform-plugin-framework/resource/schema" - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/hashicorp/terraform-plugin-framework/types/basetypes" -) - -// Ensure provider defined types fully satisfy framework interfaces. -var _ resource.Resource = &PrivateAppResource{} -var _ resource.ResourceWithImportState = &PrivateAppResource{} - -func NewPrivateAppResource() resource.Resource { - return &PrivateAppResource{} -} - -// PrivateAppResource defines the resource implementation. -type PrivateAppResource struct { - client *sdk.SDK -} - -// PrivateAppResourceModel describes the resource data model. -type PrivateAppResourceModel struct { - AppName types.String `tfsdk:"app_name"` - ClientlessAccess types.Bool `tfsdk:"clientless_access"` - Host types.String `tfsdk:"host"` - ID types.Int64 `tfsdk:"id"` - Name types.String `tfsdk:"name"` - Protocols []ProtocolItem `tfsdk:"protocols"` - PublisherTags []TagItemNoID `tfsdk:"publisher_tags"` - Publishers []PublisherItem `tfsdk:"publishers"` - RealHost types.String `tfsdk:"real_host"` - ResolvedProtocols []ProtocolResponseItem `tfsdk:"resolved_protocols"` - ServicePublisherAssignments []ServicePublisherAssignmentItem `tfsdk:"service_publisher_assignments"` - Tags []TagItem `tfsdk:"tags"` - TrustSelfSignedCerts types.Bool `tfsdk:"trust_self_signed_certs"` - UsePublisherDNS types.Bool `tfsdk:"use_publisher_dns"` -} - -func (r *PrivateAppResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) { - resp.TypeName = req.ProviderTypeName + "_private_app" -} - -func (r *PrivateAppResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { - resp.Schema = schema.Schema{ - MarkdownDescription: "PrivateApp Resource", - - Attributes: map[string]schema.Attribute{ - "app_name": schema.StringAttribute{ - Optional: true, - }, - "clientless_access": schema.BoolAttribute{ - Computed: true, - Optional: true, - }, - "host": schema.StringAttribute{ - Computed: true, - Optional: true, - }, - "id": schema.Int64Attribute{ - Computed: true, - }, - "name": schema.StringAttribute{ - Computed: true, - }, - "protocols": schema.ListNestedAttribute{ - Optional: true, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "port": schema.StringAttribute{ - Optional: true, - }, - "type": schema.StringAttribute{ - Optional: true, - }, - }, - }, - }, - "publisher_tags": schema.ListNestedAttribute{ - Optional: true, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "tag_name": schema.StringAttribute{ - Optional: true, - Description: `Default: "tag_name"`, - }, - }, - }, - }, - "publishers": schema.ListNestedAttribute{ - Optional: true, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "publisher_id": schema.StringAttribute{ - Optional: true, - }, - "publisher_name": schema.StringAttribute{ - Optional: true, - }, - }, - }, - }, - "real_host": schema.StringAttribute{ - Computed: true, - Optional: true, - }, - "resolved_protocols": schema.ListNestedAttribute{ - Computed: true, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "id": schema.Int64Attribute{ - Computed: true, - }, - "port": schema.StringAttribute{ - Computed: true, - }, - "service_id": schema.Int64Attribute{ - Computed: true, - }, - "transport": schema.StringAttribute{ - Computed: true, - }, - }, - }, - }, - "service_publisher_assignments": schema.ListNestedAttribute{ - Computed: true, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "primary": schema.BoolAttribute{ - Computed: true, - }, - "publisher_id": schema.Int64Attribute{ - Computed: true, - }, - "reachability": schema.SingleNestedAttribute{ - Computed: true, - Attributes: map[string]schema.Attribute{ - "error_code": schema.Int64Attribute{ - Computed: true, - }, - "error_string": schema.StringAttribute{ - Computed: true, - }, - "reachable": schema.BoolAttribute{ - Computed: true, - }, - }, - }, - "service_id": schema.Int64Attribute{ - Computed: true, - }, - }, - }, - }, - "tags": schema.ListNestedAttribute{ - Computed: true, - Optional: true, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "tag_id": schema.Int64Attribute{ - Computed: true, - }, - "tag_name": schema.StringAttribute{ - Computed: true, - Optional: true, - Description: `Default: "tag_name"`, - }, - }, - }, - }, - "trust_self_signed_certs": schema.BoolAttribute{ - Computed: true, - Optional: true, - }, - "use_publisher_dns": schema.BoolAttribute{ - Computed: true, - Optional: true, - }, - }, - } -} - -func (r *PrivateAppResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) { - // Prevent panic if the provider has not been configured. - if req.ProviderData == nil { - return - } - - client, ok := req.ProviderData.(*sdk.SDK) - - if !ok { - resp.Diagnostics.AddError( - "Unexpected Resource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), - ) - - return - } - - r.client = client -} - -func (r *PrivateAppResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { - var data *PrivateAppResourceModel - var item types.Object - - resp.Diagnostics.Append(req.Plan.Get(ctx, &item)...) - if resp.Diagnostics.HasError() { - return - } - - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ - UnhandledNullAsEmpty: true, - UnhandledUnknownAsEmpty: true, - })...) - - if resp.Diagnostics.HasError() { - return - } - - privateAppsRequest := *data.ToCreateSDKType() - request := operations.PostSteeringAppsPrivateRequest{ - PrivateAppsRequest: privateAppsRequest, - } - res, err := r.client.PostSteeringAppsPrivate(ctx, request) - if err != nil { - resp.Diagnostics.AddError("failure to invoke API", err.Error()) - if res != nil && res.RawResponse != nil { - resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) - } - return - } - if res == nil { - resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) - return - } - if res.StatusCode != 200 { - resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) - return - } - if res.PrivateAppsResponse == nil || res.PrivateAppsResponse.Data == nil { - resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) - return - } - data.RefreshFromCreateResponse(res.PrivateAppsResponse.Data) - - // Save updated data into Terraform state - resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) -} - -func (r *PrivateAppResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { - var data *PrivateAppResourceModel - var item types.Object - - resp.Diagnostics.Append(req.State.Get(ctx, &item)...) - if resp.Diagnostics.HasError() { - return - } - - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ - UnhandledNullAsEmpty: true, - UnhandledUnknownAsEmpty: true, - })...) - - if resp.Diagnostics.HasError() { - return - } - - // Not Implemented; we rely entirely on CREATE API request response - - // Save updated data into Terraform state - resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) -} - -func (r *PrivateAppResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { - var data *PrivateAppResourceModel - merge(ctx, req, resp, &data) - if resp.Diagnostics.HasError() { - return - } - - privateAppID := int(data.ID.ValueInt64()) - privateAppsPutRequest := *data.ToUpdateSDKType() - request := operations.PutSteeringAppsPrivatePrivateAppIDRequest{ - PrivateAppID: privateAppID, - PrivateAppsPutRequest: privateAppsPutRequest, - } - res, err := r.client.PutSteeringAppsPrivatePrivateAppID(ctx, request) - if err != nil { - resp.Diagnostics.AddError("failure to invoke API", err.Error()) - if res != nil && res.RawResponse != nil { - resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) - } - return - } - if res == nil { - resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) - return - } - if res.StatusCode != 200 { - resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) - return - } - if res.PrivateAppsResponse == nil || res.PrivateAppsResponse.Data == nil { - resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) - return - } - data.RefreshFromUpdateResponse(res.PrivateAppsResponse.Data) - - // Save updated data into Terraform state - resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) -} - -func (r *PrivateAppResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { - var data *PrivateAppResourceModel - var item types.Object - - resp.Diagnostics.Append(req.State.Get(ctx, &item)...) - if resp.Diagnostics.HasError() { - return - } - - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ - UnhandledNullAsEmpty: true, - UnhandledUnknownAsEmpty: true, - })...) - - if resp.Diagnostics.HasError() { - return - } - - privateAppID := int(data.ID.ValueInt64()) - request := operations.DeleteSteeringAppsPrivatePrivateAppIDRequest{ - PrivateAppID: privateAppID, - } - res, err := r.client.DeleteSteeringAppsPrivatePrivateAppID(ctx, request) - if err != nil { - resp.Diagnostics.AddError("failure to invoke API", err.Error()) - if res != nil && res.RawResponse != nil { - resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) - } - return - } - if res == nil { - resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) - return - } - if res.StatusCode != 200 { - resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) - return - } - -} - -func (r *PrivateAppResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { - resp.Diagnostics.AddError("Not Implemented", "No available import state operation is available for resource private_app.") -} diff --git a/internal/provider/privateapp_resource_sdk.go b/internal/provider/privateapp_resource_sdk.go deleted file mode 100644 index 06396c4..0000000 --- a/internal/provider/privateapp_resource_sdk.go +++ /dev/null @@ -1,395 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" -) - -func (r *PrivateAppResourceModel) ToCreateSDKType() *shared.PrivateAppsRequest { - appName := new(string) - if !r.AppName.IsUnknown() && !r.AppName.IsNull() { - *appName = r.AppName.ValueString() - } else { - appName = nil - } - clientlessAccess := new(bool) - if !r.ClientlessAccess.IsUnknown() && !r.ClientlessAccess.IsNull() { - *clientlessAccess = r.ClientlessAccess.ValueBool() - } else { - clientlessAccess = nil - } - host := new(string) - if !r.Host.IsUnknown() && !r.Host.IsNull() { - *host = r.Host.ValueString() - } else { - host = nil - } - var protocols []shared.ProtocolItem = nil - for _, protocolsItem := range r.Protocols { - port := new(string) - if !protocolsItem.Port.IsUnknown() && !protocolsItem.Port.IsNull() { - *port = protocolsItem.Port.ValueString() - } else { - port = nil - } - typeVar := new(string) - if !protocolsItem.Type.IsUnknown() && !protocolsItem.Type.IsNull() { - *typeVar = protocolsItem.Type.ValueString() - } else { - typeVar = nil - } - protocols = append(protocols, shared.ProtocolItem{ - Port: port, - Type: typeVar, - }) - } - var publisherTags []shared.TagItemNoID = nil - for _, publisherTagsItem := range r.PublisherTags { - tagName := new(string) - if !publisherTagsItem.TagName.IsUnknown() && !publisherTagsItem.TagName.IsNull() { - *tagName = publisherTagsItem.TagName.ValueString() - } else { - tagName = nil - } - publisherTags = append(publisherTags, shared.TagItemNoID{ - TagName: tagName, - }) - } - var publishers []shared.PublisherItem = nil - for _, publishersItem := range r.Publishers { - publisherID := new(string) - if !publishersItem.PublisherID.IsUnknown() && !publishersItem.PublisherID.IsNull() { - *publisherID = publishersItem.PublisherID.ValueString() - } else { - publisherID = nil - } - publisherName := new(string) - if !publishersItem.PublisherName.IsUnknown() && !publishersItem.PublisherName.IsNull() { - *publisherName = publishersItem.PublisherName.ValueString() - } else { - publisherName = nil - } - publishers = append(publishers, shared.PublisherItem{ - PublisherID: publisherID, - PublisherName: publisherName, - }) - } - realHost := new(string) - if !r.RealHost.IsUnknown() && !r.RealHost.IsNull() { - *realHost = r.RealHost.ValueString() - } else { - realHost = nil - } - var tags []shared.TagItemNoID = nil - for _, tagsItem := range r.Tags { - tagName1 := new(string) - if !tagsItem.TagName.IsUnknown() && !tagsItem.TagName.IsNull() { - *tagName1 = tagsItem.TagName.ValueString() - } else { - tagName1 = nil - } - tags = append(tags, shared.TagItemNoID{ - TagName: tagName1, - }) - } - trustSelfSignedCerts := new(bool) - if !r.TrustSelfSignedCerts.IsUnknown() && !r.TrustSelfSignedCerts.IsNull() { - *trustSelfSignedCerts = r.TrustSelfSignedCerts.ValueBool() - } else { - trustSelfSignedCerts = nil - } - usePublisherDNS := new(bool) - if !r.UsePublisherDNS.IsUnknown() && !r.UsePublisherDNS.IsNull() { - *usePublisherDNS = r.UsePublisherDNS.ValueBool() - } else { - usePublisherDNS = nil - } - out := shared.PrivateAppsRequest{ - AppName: appName, - ClientlessAccess: clientlessAccess, - Host: host, - Protocols: protocols, - PublisherTags: publisherTags, - Publishers: publishers, - RealHost: realHost, - Tags: tags, - TrustSelfSignedCerts: trustSelfSignedCerts, - UsePublisherDNS: usePublisherDNS, - } - return &out -} - -func (r *PrivateAppResourceModel) ToUpdateSDKType() *shared.PrivateAppsPutRequest { - appName := new(string) - if !r.AppName.IsUnknown() && !r.AppName.IsNull() { - *appName = r.AppName.ValueString() - } else { - appName = nil - } - clientlessAccess := new(bool) - if !r.ClientlessAccess.IsUnknown() && !r.ClientlessAccess.IsNull() { - *clientlessAccess = r.ClientlessAccess.ValueBool() - } else { - clientlessAccess = nil - } - host := new(string) - if !r.Host.IsUnknown() && !r.Host.IsNull() { - *host = r.Host.ValueString() - } else { - host = nil - } - id := new(int) - if !r.ID.IsUnknown() && !r.ID.IsNull() { - *id = int(r.ID.ValueInt64()) - } else { - id = nil - } - var protocols []shared.ProtocolItem = nil - for _, protocolsItem := range r.Protocols { - port := new(string) - if !protocolsItem.Port.IsUnknown() && !protocolsItem.Port.IsNull() { - *port = protocolsItem.Port.ValueString() - } else { - port = nil - } - typeVar := new(string) - if !protocolsItem.Type.IsUnknown() && !protocolsItem.Type.IsNull() { - *typeVar = protocolsItem.Type.ValueString() - } else { - typeVar = nil - } - protocols = append(protocols, shared.ProtocolItem{ - Port: port, - Type: typeVar, - }) - } - var publisherTags []shared.TagItemNoID = nil - for _, publisherTagsItem := range r.PublisherTags { - tagName := new(string) - if !publisherTagsItem.TagName.IsUnknown() && !publisherTagsItem.TagName.IsNull() { - *tagName = publisherTagsItem.TagName.ValueString() - } else { - tagName = nil - } - publisherTags = append(publisherTags, shared.TagItemNoID{ - TagName: tagName, - }) - } - var publishers []shared.PublisherItem = nil - for _, publishersItem := range r.Publishers { - publisherID := new(string) - if !publishersItem.PublisherID.IsUnknown() && !publishersItem.PublisherID.IsNull() { - *publisherID = publishersItem.PublisherID.ValueString() - } else { - publisherID = nil - } - publisherName := new(string) - if !publishersItem.PublisherName.IsUnknown() && !publishersItem.PublisherName.IsNull() { - *publisherName = publishersItem.PublisherName.ValueString() - } else { - publisherName = nil - } - publishers = append(publishers, shared.PublisherItem{ - PublisherID: publisherID, - PublisherName: publisherName, - }) - } - realHost := new(string) - if !r.RealHost.IsUnknown() && !r.RealHost.IsNull() { - *realHost = r.RealHost.ValueString() - } else { - realHost = nil - } - var tags []shared.TagItemNoID = nil - for _, tagsItem := range r.Tags { - tagName1 := new(string) - if !tagsItem.TagName.IsUnknown() && !tagsItem.TagName.IsNull() { - *tagName1 = tagsItem.TagName.ValueString() - } else { - tagName1 = nil - } - tags = append(tags, shared.TagItemNoID{ - TagName: tagName1, - }) - } - trustSelfSignedCerts := new(bool) - if !r.TrustSelfSignedCerts.IsUnknown() && !r.TrustSelfSignedCerts.IsNull() { - *trustSelfSignedCerts = r.TrustSelfSignedCerts.ValueBool() - } else { - trustSelfSignedCerts = nil - } - usePublisherDNS := new(bool) - if !r.UsePublisherDNS.IsUnknown() && !r.UsePublisherDNS.IsNull() { - *usePublisherDNS = r.UsePublisherDNS.ValueBool() - } else { - usePublisherDNS = nil - } - out := shared.PrivateAppsPutRequest{ - AppName: appName, - ClientlessAccess: clientlessAccess, - Host: host, - ID: id, - Protocols: protocols, - PublisherTags: publisherTags, - Publishers: publishers, - RealHost: realHost, - Tags: tags, - TrustSelfSignedCerts: trustSelfSignedCerts, - UsePublisherDNS: usePublisherDNS, - } - return &out -} - -func (r *PrivateAppResourceModel) ToDeleteSDKType() *shared.PrivateAppsRequest { - out := r.ToCreateSDKType() - return out -} - -func (r *PrivateAppResourceModel) RefreshFromCreateResponse(resp *shared.PrivateAppsResponseData) { - if resp.ClientlessAccess != nil { - r.ClientlessAccess = types.BoolValue(*resp.ClientlessAccess) - } else { - r.ClientlessAccess = types.BoolNull() - } - if resp.Host != nil { - r.Host = types.StringValue(*resp.Host) - } else { - r.Host = types.StringNull() - } - if resp.ID != nil { - r.ID = types.Int64Value(int64(*resp.ID)) - } else { - r.ID = types.Int64Null() - } - if resp.Name != nil { - r.Name = types.StringValue(*resp.Name) - } else { - r.Name = types.StringNull() - } - if resp.RealHost != nil { - r.RealHost = types.StringValue(*resp.RealHost) - } else { - r.RealHost = types.StringNull() - } - if len(r.ResolvedProtocols) > len(resp.ResolvedProtocols) { - r.ResolvedProtocols = r.ResolvedProtocols[:len(resp.ResolvedProtocols)] - } - for resolvedProtocolsCount, resolvedProtocolsItem := range resp.ResolvedProtocols { - var resolvedProtocols1 ProtocolResponseItem - if resolvedProtocolsItem.ID != nil { - resolvedProtocols1.ID = types.Int64Value(int64(*resolvedProtocolsItem.ID)) - } else { - resolvedProtocols1.ID = types.Int64Null() - } - if resolvedProtocolsItem.Port != nil { - resolvedProtocols1.Port = types.StringValue(*resolvedProtocolsItem.Port) - } else { - resolvedProtocols1.Port = types.StringNull() - } - if resolvedProtocolsItem.ServiceID != nil { - resolvedProtocols1.ServiceID = types.Int64Value(int64(*resolvedProtocolsItem.ServiceID)) - } else { - resolvedProtocols1.ServiceID = types.Int64Null() - } - if resolvedProtocolsItem.Transport != nil { - resolvedProtocols1.Transport = types.StringValue(*resolvedProtocolsItem.Transport) - } else { - resolvedProtocols1.Transport = types.StringNull() - } - if resolvedProtocolsCount+1 > len(r.ResolvedProtocols) { - r.ResolvedProtocols = append(r.ResolvedProtocols, resolvedProtocols1) - } else { - r.ResolvedProtocols[resolvedProtocolsCount].ID = resolvedProtocols1.ID - r.ResolvedProtocols[resolvedProtocolsCount].Port = resolvedProtocols1.Port - r.ResolvedProtocols[resolvedProtocolsCount].ServiceID = resolvedProtocols1.ServiceID - r.ResolvedProtocols[resolvedProtocolsCount].Transport = resolvedProtocols1.Transport - } - } - if len(r.ServicePublisherAssignments) > len(resp.ServicePublisherAssignments) { - r.ServicePublisherAssignments = r.ServicePublisherAssignments[:len(resp.ServicePublisherAssignments)] - } - for servicePublisherAssignmentsCount, servicePublisherAssignmentsItem := range resp.ServicePublisherAssignments { - var servicePublisherAssignments1 ServicePublisherAssignmentItem - if servicePublisherAssignmentsItem.Primary != nil { - servicePublisherAssignments1.Primary = types.BoolValue(*servicePublisherAssignmentsItem.Primary) - } else { - servicePublisherAssignments1.Primary = types.BoolNull() - } - if servicePublisherAssignmentsItem.PublisherID != nil { - servicePublisherAssignments1.PublisherID = types.Int64Value(int64(*servicePublisherAssignmentsItem.PublisherID)) - } else { - servicePublisherAssignments1.PublisherID = types.Int64Null() - } - if servicePublisherAssignmentsItem.Reachability == nil { - servicePublisherAssignments1.Reachability = nil - } else { - servicePublisherAssignments1.Reachability = &Reachability{} - if servicePublisherAssignmentsItem.Reachability.ErrorCode != nil { - servicePublisherAssignments1.Reachability.ErrorCode = types.Int64Value(int64(*servicePublisherAssignmentsItem.Reachability.ErrorCode)) - } else { - servicePublisherAssignments1.Reachability.ErrorCode = types.Int64Null() - } - if servicePublisherAssignmentsItem.Reachability.ErrorString != nil { - servicePublisherAssignments1.Reachability.ErrorString = types.StringValue(*servicePublisherAssignmentsItem.Reachability.ErrorString) - } else { - servicePublisherAssignments1.Reachability.ErrorString = types.StringNull() - } - if servicePublisherAssignmentsItem.Reachability.Reachable != nil { - servicePublisherAssignments1.Reachability.Reachable = types.BoolValue(*servicePublisherAssignmentsItem.Reachability.Reachable) - } else { - servicePublisherAssignments1.Reachability.Reachable = types.BoolNull() - } - } - if servicePublisherAssignmentsItem.ServiceID != nil { - servicePublisherAssignments1.ServiceID = types.Int64Value(int64(*servicePublisherAssignmentsItem.ServiceID)) - } else { - servicePublisherAssignments1.ServiceID = types.Int64Null() - } - if servicePublisherAssignmentsCount+1 > len(r.ServicePublisherAssignments) { - r.ServicePublisherAssignments = append(r.ServicePublisherAssignments, servicePublisherAssignments1) - } else { - r.ServicePublisherAssignments[servicePublisherAssignmentsCount].Primary = servicePublisherAssignments1.Primary - r.ServicePublisherAssignments[servicePublisherAssignmentsCount].PublisherID = servicePublisherAssignments1.PublisherID - r.ServicePublisherAssignments[servicePublisherAssignmentsCount].Reachability = servicePublisherAssignments1.Reachability - r.ServicePublisherAssignments[servicePublisherAssignmentsCount].ServiceID = servicePublisherAssignments1.ServiceID - } - } - if len(r.Tags) > len(resp.Tags) { - r.Tags = r.Tags[:len(resp.Tags)] - } - for tagsCount, tagsItem := range resp.Tags { - var tags1 TagItem - if tagsItem.TagID != nil { - tags1.TagID = types.Int64Value(int64(*tagsItem.TagID)) - } else { - tags1.TagID = types.Int64Null() - } - if tagsItem.TagName != nil { - tags1.TagName = types.StringValue(*tagsItem.TagName) - } else { - tags1.TagName = types.StringNull() - } - if tagsCount+1 > len(r.Tags) { - r.Tags = append(r.Tags, tags1) - } else { - r.Tags[tagsCount].TagID = tags1.TagID - r.Tags[tagsCount].TagName = tags1.TagName - } - } - if resp.TrustSelfSignedCerts != nil { - r.TrustSelfSignedCerts = types.BoolValue(*resp.TrustSelfSignedCerts) - } else { - r.TrustSelfSignedCerts = types.BoolNull() - } - if resp.UsePublisherDNS != nil { - r.UsePublisherDNS = types.BoolValue(*resp.UsePublisherDNS) - } else { - r.UsePublisherDNS = types.BoolNull() - } -} - -func (r *PrivateAppResourceModel) RefreshFromUpdateResponse(resp *shared.PrivateAppsResponseData) { - r.RefreshFromCreateResponse(resp) -} diff --git a/internal/provider/privateapplist_data_source.go b/internal/provider/privateapplist_data_source.go deleted file mode 100644 index 212c715..0000000 --- a/internal/provider/privateapplist_data_source.go +++ /dev/null @@ -1,139 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "context" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" - - "github.com/hashicorp/terraform-plugin-framework/datasource" - "github.com/hashicorp/terraform-plugin-framework/datasource/schema" - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/hashicorp/terraform-plugin-framework/types/basetypes" -) - -// Ensure provider defined types fully satisfy framework interfaces. -var _ datasource.DataSource = &PrivateAppListDataSource{} -var _ datasource.DataSourceWithConfigure = &PrivateAppListDataSource{} - -func NewPrivateAppListDataSource() datasource.DataSource { - return &PrivateAppListDataSource{} -} - -// PrivateAppListDataSource is the data source implementation. -type PrivateAppListDataSource struct { - client *sdk.SDK -} - -// PrivateAppListDataSourceModel describes the data model. -type PrivateAppListDataSourceModel struct { - Data *PrivateAppsGetResponseData `tfsdk:"data"` - Fields types.String `tfsdk:"fields"` - Total types.Int64 `tfsdk:"total"` -} - -// Metadata returns the data source type name. -func (r *PrivateAppListDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) { - resp.TypeName = req.ProviderTypeName + "_private_app_list" -} - -// Schema defines the schema for the data source. -func (r *PrivateAppListDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) { - resp.Schema = schema.Schema{ - MarkdownDescription: "PrivateAppList DataSource", - - Attributes: map[string]schema.Attribute{ - "data": schema.SingleNestedAttribute{ - Computed: true, - Attributes: map[string]schema.Attribute{ - "private_apps": schema.ListAttribute{ - Computed: true, - ElementType: types.StringType, - }, - }, - }, - "fields": schema.StringAttribute{ - Optional: true, - Description: `Return values only from specified fields`, - }, - "total": schema.Int64Attribute{ - Computed: true, - }, - }, - } -} - -func (r *PrivateAppListDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) { - // Prevent panic if the provider has not been configured. - if req.ProviderData == nil { - return - } - - client, ok := req.ProviderData.(*sdk.SDK) - - if !ok { - resp.Diagnostics.AddError( - "Unexpected DataSource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), - ) - - return - } - - r.client = client -} - -func (r *PrivateAppListDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) { - var data *PrivateAppListDataSourceModel - var item types.Object - - resp.Diagnostics.Append(req.Config.Get(ctx, &item)...) - if resp.Diagnostics.HasError() { - return - } - - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ - UnhandledNullAsEmpty: true, - UnhandledUnknownAsEmpty: true, - })...) - - if resp.Diagnostics.HasError() { - return - } - - fields := new(string) - if !data.Fields.IsUnknown() && !data.Fields.IsNull() { - *fields = data.Fields.ValueString() - } else { - fields = nil - } - request := operations.GetSteeringAppsPrivateRequest{ - Fields: fields, - } - res, err := r.client.GetSteeringAppsPrivate(ctx, request) - if err != nil { - resp.Diagnostics.AddError("failure to invoke API", err.Error()) - if res != nil && res.RawResponse != nil { - resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) - } - return - } - if res == nil { - resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) - return - } - if res.StatusCode != 200 { - resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) - return - } - if res.PrivateAppsGetResponse == nil { - resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) - return - } - data.RefreshFromGetResponse(res.PrivateAppsGetResponse) - - // Save updated data into Terraform state - resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) -} diff --git a/internal/provider/privateapplist_data_source_sdk.go b/internal/provider/privateapplist_data_source_sdk.go deleted file mode 100644 index 4f7c3c8..0000000 --- a/internal/provider/privateapplist_data_source_sdk.go +++ /dev/null @@ -1,29 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "encoding/json" - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" -) - -func (r *PrivateAppListDataSourceModel) RefreshFromGetResponse(resp *shared.PrivateAppsGetResponse) { - if resp.Data == nil { - r.Data = nil - } else { - r.Data = &PrivateAppsGetResponseData{} - r.Data.PrivateApps = nil - for _, privateAppsItem := range resp.Data.PrivateApps { - var privateApps1 types.String - privateApps1Result, _ := json.Marshal(privateAppsItem) - privateApps1 = types.StringValue(string(privateApps1Result)) - r.Data.PrivateApps = append(r.Data.PrivateApps, privateApps1) - } - } - if resp.Total != nil { - r.Total = types.Int64Value(int64(*resp.Total)) - } else { - r.Total = types.Int64Null() - } -} diff --git a/internal/provider/privateapptag_resource.go b/internal/provider/privateapptag_resource.go deleted file mode 100644 index 345efde..0000000 --- a/internal/provider/privateapptag_resource.go +++ /dev/null @@ -1,250 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "context" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - - "github.com/hashicorp/terraform-plugin-framework/resource" - "github.com/hashicorp/terraform-plugin-framework/resource/schema" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64planmodifier" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/listplanmodifier" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/hashicorp/terraform-plugin-framework/types/basetypes" -) - -// Ensure provider defined types fully satisfy framework interfaces. -var _ resource.Resource = &PrivateAppTagResource{} -var _ resource.ResourceWithImportState = &PrivateAppTagResource{} - -func NewPrivateAppTagResource() resource.Resource { - return &PrivateAppTagResource{} -} - -// PrivateAppTagResource defines the resource implementation. -type PrivateAppTagResource struct { - client *sdk.SDK -} - -// PrivateAppTagResourceModel describes the resource data model. -type PrivateAppTagResourceModel struct { - Data []TagItem `tfsdk:"data"` - ID types.String `tfsdk:"id"` - Ids []types.String `tfsdk:"ids"` - PublisherTags []TagItem `tfsdk:"publisher_tags"` - Tags []TagItem `tfsdk:"tags"` -} - -func (r *PrivateAppTagResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) { - resp.TypeName = req.ProviderTypeName + "_private_app_tag" -} - -func (r *PrivateAppTagResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { - resp.Schema = schema.Schema{ - MarkdownDescription: "PrivateAppTag Resource", - - Attributes: map[string]schema.Attribute{ - "data": schema.ListNestedAttribute{ - Computed: true, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "tag_id": schema.Int64Attribute{ - Computed: true, - }, - "tag_name": schema.StringAttribute{ - Computed: true, - }, - }, - }, - }, - "id": schema.StringAttribute{ - PlanModifiers: []planmodifier.String{ - stringplanmodifier.RequiresReplace(), - }, - Optional: true, - }, - "ids": schema.ListAttribute{ - PlanModifiers: []planmodifier.List{ - listplanmodifier.RequiresReplace(), - }, - Optional: true, - ElementType: types.StringType, - }, - "publisher_tags": schema.ListNestedAttribute{ - PlanModifiers: []planmodifier.List{ - listplanmodifier.RequiresReplace(), - }, - Optional: true, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "tag_id": schema.Int64Attribute{ - PlanModifiers: []planmodifier.Int64{ - int64planmodifier.RequiresReplace(), - }, - Optional: true, - }, - "tag_name": schema.StringAttribute{ - PlanModifiers: []planmodifier.String{ - stringplanmodifier.RequiresReplace(), - }, - Optional: true, - }, - }, - }, - }, - "tags": schema.ListNestedAttribute{ - PlanModifiers: []planmodifier.List{ - listplanmodifier.RequiresReplace(), - }, - Optional: true, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "tag_id": schema.Int64Attribute{ - PlanModifiers: []planmodifier.Int64{ - int64planmodifier.RequiresReplace(), - }, - Optional: true, - }, - "tag_name": schema.StringAttribute{ - PlanModifiers: []planmodifier.String{ - stringplanmodifier.RequiresReplace(), - }, - Optional: true, - }, - }, - }, - }, - }, - } -} - -func (r *PrivateAppTagResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) { - // Prevent panic if the provider has not been configured. - if req.ProviderData == nil { - return - } - - client, ok := req.ProviderData.(*sdk.SDK) - - if !ok { - resp.Diagnostics.AddError( - "Unexpected Resource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), - ) - - return - } - - r.client = client -} - -func (r *PrivateAppTagResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { - var data *PrivateAppTagResourceModel - var item types.Object - - resp.Diagnostics.Append(req.Plan.Get(ctx, &item)...) - if resp.Diagnostics.HasError() { - return - } - - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ - UnhandledNullAsEmpty: true, - UnhandledUnknownAsEmpty: true, - })...) - - if resp.Diagnostics.HasError() { - return - } - - request := *data.ToCreateSDKType() - res, err := r.client.PostSteeringAppsPrivateTags(ctx, request) - if err != nil { - resp.Diagnostics.AddError("failure to invoke API", err.Error()) - if res != nil && res.RawResponse != nil { - resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) - } - return - } - if res == nil { - resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) - return - } - if res.StatusCode != 200 { - resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) - return - } - if res.TagResponse == nil { - resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) - return - } - data.RefreshFromCreateResponse(res.TagResponse) - - // Save updated data into Terraform state - resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) -} - -func (r *PrivateAppTagResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { - var data *PrivateAppTagResourceModel - var item types.Object - - resp.Diagnostics.Append(req.State.Get(ctx, &item)...) - if resp.Diagnostics.HasError() { - return - } - - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ - UnhandledNullAsEmpty: true, - UnhandledUnknownAsEmpty: true, - })...) - - if resp.Diagnostics.HasError() { - return - } - - // Not Implemented; we rely entirely on CREATE API request response - - // Save updated data into Terraform state - resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) -} - -func (r *PrivateAppTagResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { - var data *PrivateAppTagResourceModel - merge(ctx, req, resp, &data) - if resp.Diagnostics.HasError() { - return - } - - // Not Implemented; all attributes marked as RequiresReplace - - // Save updated data into Terraform state - resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) -} - -func (r *PrivateAppTagResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { - var data *PrivateAppTagResourceModel - var item types.Object - - resp.Diagnostics.Append(req.State.Get(ctx, &item)...) - if resp.Diagnostics.HasError() { - return - } - - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ - UnhandledNullAsEmpty: true, - UnhandledUnknownAsEmpty: true, - })...) - - if resp.Diagnostics.HasError() { - return - } - - // Not Implemented; entity does not have a configured DELETE operation -} - -func (r *PrivateAppTagResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { - resp.Diagnostics.AddError("Not Implemented", "No available import state operation is available for resource private_app_tag.") -} diff --git a/internal/provider/privateapptag_resource_sdk.go b/internal/provider/privateapptag_resource_sdk.go deleted file mode 100644 index e8869f5..0000000 --- a/internal/provider/privateapptag_resource_sdk.go +++ /dev/null @@ -1,91 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" -) - -func (r *PrivateAppTagResourceModel) ToCreateSDKType() *shared.TagRequest { - id := new(string) - if !r.ID.IsUnknown() && !r.ID.IsNull() { - *id = r.ID.ValueString() - } else { - id = nil - } - var ids []string = nil - for _, idsItem := range r.Ids { - ids = append(ids, idsItem.ValueString()) - } - var publisherTags []shared.TagItem = nil - for _, publisherTagsItem := range r.PublisherTags { - tagID := new(int) - if !publisherTagsItem.TagID.IsUnknown() && !publisherTagsItem.TagID.IsNull() { - *tagID = int(publisherTagsItem.TagID.ValueInt64()) - } else { - tagID = nil - } - tagName := new(string) - if !publisherTagsItem.TagName.IsUnknown() && !publisherTagsItem.TagName.IsNull() { - *tagName = publisherTagsItem.TagName.ValueString() - } else { - tagName = nil - } - publisherTags = append(publisherTags, shared.TagItem{ - TagID: tagID, - TagName: tagName, - }) - } - var tags []shared.TagItem = nil - for _, tagsItem := range r.Tags { - tagId1 := new(int) - if !tagsItem.TagID.IsUnknown() && !tagsItem.TagID.IsNull() { - *tagId1 = int(tagsItem.TagID.ValueInt64()) - } else { - tagId1 = nil - } - tagName1 := new(string) - if !tagsItem.TagName.IsUnknown() && !tagsItem.TagName.IsNull() { - *tagName1 = tagsItem.TagName.ValueString() - } else { - tagName1 = nil - } - tags = append(tags, shared.TagItem{ - TagID: tagId1, - TagName: tagName1, - }) - } - out := shared.TagRequest{ - ID: id, - Ids: ids, - PublisherTags: publisherTags, - Tags: tags, - } - return &out -} - -func (r *PrivateAppTagResourceModel) RefreshFromCreateResponse(resp *shared.TagResponse) { - if len(r.Data) > len(resp.Data) { - r.Data = r.Data[:len(resp.Data)] - } - for dataCount, dataItem := range resp.Data { - var data1 TagItem - if dataItem.TagID != nil { - data1.TagID = types.Int64Value(int64(*dataItem.TagID)) - } else { - data1.TagID = types.Int64Null() - } - if dataItem.TagName != nil { - data1.TagName = types.StringValue(*dataItem.TagName) - } else { - data1.TagName = types.StringNull() - } - if dataCount+1 > len(r.Data) { - r.Data = append(r.Data, data1) - } else { - r.Data[dataCount].TagID = data1.TagID - r.Data[dataCount].TagName = data1.TagName - } - } -} diff --git a/internal/provider/privateapptaglist_data_source.go b/internal/provider/privateapptaglist_data_source.go deleted file mode 100644 index a74ad4e..0000000 --- a/internal/provider/privateapptaglist_data_source.go +++ /dev/null @@ -1,124 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "context" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - - "github.com/hashicorp/terraform-plugin-framework/datasource" - "github.com/hashicorp/terraform-plugin-framework/datasource/schema" - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/hashicorp/terraform-plugin-framework/types/basetypes" -) - -// Ensure provider defined types fully satisfy framework interfaces. -var _ datasource.DataSource = &PrivateAppTagListDataSource{} -var _ datasource.DataSourceWithConfigure = &PrivateAppTagListDataSource{} - -func NewPrivateAppTagListDataSource() datasource.DataSource { - return &PrivateAppTagListDataSource{} -} - -// PrivateAppTagListDataSource is the data source implementation. -type PrivateAppTagListDataSource struct { - client *sdk.SDK -} - -// PrivateAppTagListDataSourceModel describes the data model. -type PrivateAppTagListDataSourceModel struct { - Data []TagItem `tfsdk:"data"` -} - -// Metadata returns the data source type name. -func (r *PrivateAppTagListDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) { - resp.TypeName = req.ProviderTypeName + "_private_app_tag_list" -} - -// Schema defines the schema for the data source. -func (r *PrivateAppTagListDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) { - resp.Schema = schema.Schema{ - MarkdownDescription: "PrivateAppTagList DataSource", - - Attributes: map[string]schema.Attribute{ - "data": schema.ListNestedAttribute{ - Computed: true, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "tag_id": schema.Int64Attribute{ - Computed: true, - }, - "tag_name": schema.StringAttribute{ - Computed: true, - }, - }, - }, - }, - }, - } -} - -func (r *PrivateAppTagListDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) { - // Prevent panic if the provider has not been configured. - if req.ProviderData == nil { - return - } - - client, ok := req.ProviderData.(*sdk.SDK) - - if !ok { - resp.Diagnostics.AddError( - "Unexpected DataSource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), - ) - - return - } - - r.client = client -} - -func (r *PrivateAppTagListDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) { - var data *PrivateAppTagListDataSourceModel - var item types.Object - - resp.Diagnostics.Append(req.Config.Get(ctx, &item)...) - if resp.Diagnostics.HasError() { - return - } - - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ - UnhandledNullAsEmpty: true, - UnhandledUnknownAsEmpty: true, - })...) - - if resp.Diagnostics.HasError() { - return - } - - res, err := r.client.GetSteeringAppsPrivateTags(ctx) - if err != nil { - resp.Diagnostics.AddError("failure to invoke API", err.Error()) - if res != nil && res.RawResponse != nil { - resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) - } - return - } - if res == nil { - resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) - return - } - if res.StatusCode != 200 { - resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) - return - } - if res.TagResponse == nil { - resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) - return - } - data.RefreshFromGetResponse(res.TagResponse) - - // Save updated data into Terraform state - resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) -} diff --git a/internal/provider/privateapptaglist_data_source_sdk.go b/internal/provider/privateapptaglist_data_source_sdk.go deleted file mode 100644 index 0d7a592..0000000 --- a/internal/provider/privateapptaglist_data_source_sdk.go +++ /dev/null @@ -1,33 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" -) - -func (r *PrivateAppTagListDataSourceModel) RefreshFromGetResponse(resp *shared.TagResponse) { - if len(r.Data) > len(resp.Data) { - r.Data = r.Data[:len(resp.Data)] - } - for dataCount, dataItem := range resp.Data { - var data1 TagItem - if dataItem.TagID != nil { - data1.TagID = types.Int64Value(int64(*dataItem.TagID)) - } else { - data1.TagID = types.Int64Null() - } - if dataItem.TagName != nil { - data1.TagName = types.StringValue(*dataItem.TagName) - } else { - data1.TagName = types.StringNull() - } - if dataCount+1 > len(r.Data) { - r.Data = append(r.Data, data1) - } else { - r.Data[dataCount].TagID = data1.TagID - r.Data[dataCount].TagName = data1.TagName - } - } -} diff --git a/internal/provider/privateapptagpolicyuselist_data_source.go b/internal/provider/privateapptagpolicyuselist_data_source.go deleted file mode 100644 index 41f9903..0000000 --- a/internal/provider/privateapptagpolicyuselist_data_source.go +++ /dev/null @@ -1,127 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "context" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - - "github.com/hashicorp/terraform-plugin-framework/datasource" - "github.com/hashicorp/terraform-plugin-framework/datasource/schema" - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/hashicorp/terraform-plugin-framework/types/basetypes" -) - -// Ensure provider defined types fully satisfy framework interfaces. -var _ datasource.DataSource = &PrivateAppTagPolicyUseListDataSource{} -var _ datasource.DataSourceWithConfigure = &PrivateAppTagPolicyUseListDataSource{} - -func NewPrivateAppTagPolicyUseListDataSource() datasource.DataSource { - return &PrivateAppTagPolicyUseListDataSource{} -} - -// PrivateAppTagPolicyUseListDataSource is the data source implementation. -type PrivateAppTagPolicyUseListDataSource struct { - client *sdk.SDK -} - -// PrivateAppTagPolicyUseListDataSourceModel describes the data model. -type PrivateAppTagPolicyUseListDataSourceModel struct { - Data []PostSteeringAppsPrivateTagsGetpolicyinuseData `tfsdk:"data"` - Ids []types.String `tfsdk:"ids"` -} - -// Metadata returns the data source type name. -func (r *PrivateAppTagPolicyUseListDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) { - resp.TypeName = req.ProviderTypeName + "_private_app_tag_policy_use_list" -} - -// Schema defines the schema for the data source. -func (r *PrivateAppTagPolicyUseListDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) { - resp.Schema = schema.Schema{ - MarkdownDescription: "PrivateAppTagPolicyUseList DataSource", - - Attributes: map[string]schema.Attribute{ - "data": schema.ListNestedAttribute{ - Computed: true, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "token": schema.StringAttribute{ - Computed: true, - }, - }, - }, - }, - "ids": schema.ListAttribute{ - Optional: true, - ElementType: types.StringType, - }, - }, - } -} - -func (r *PrivateAppTagPolicyUseListDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) { - // Prevent panic if the provider has not been configured. - if req.ProviderData == nil { - return - } - - client, ok := req.ProviderData.(*sdk.SDK) - - if !ok { - resp.Diagnostics.AddError( - "Unexpected DataSource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), - ) - - return - } - - r.client = client -} - -func (r *PrivateAppTagPolicyUseListDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) { - var data *PrivateAppTagPolicyUseListDataSourceModel - var item types.Object - - resp.Diagnostics.Append(req.Config.Get(ctx, &item)...) - if resp.Diagnostics.HasError() { - return - } - - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ - UnhandledNullAsEmpty: true, - UnhandledUnknownAsEmpty: true, - })...) - - if resp.Diagnostics.HasError() { - return - } - - request := *data.ToGetSDKType() - res, err := r.client.PostSteeringAppsPrivateTagsGetpolicyinuse(ctx, request) - if err != nil { - resp.Diagnostics.AddError("failure to invoke API", err.Error()) - if res != nil && res.RawResponse != nil { - resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) - } - return - } - if res == nil { - resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) - return - } - if res.StatusCode != 200 { - resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) - return - } - if res.Object == nil { - resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) - return - } - data.RefreshFromGetResponse(res.Object) - - // Save updated data into Terraform state - resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) -} diff --git a/internal/provider/privateapptagpolicyuselist_data_source_sdk.go b/internal/provider/privateapptagpolicyuselist_data_source_sdk.go deleted file mode 100644 index 07b7f56..0000000 --- a/internal/provider/privateapptagpolicyuselist_data_source_sdk.go +++ /dev/null @@ -1,38 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import ( - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" -) - -func (r *PrivateAppTagPolicyUseListDataSourceModel) ToGetSDKType() *operations.PostSteeringAppsPrivateTagsGetpolicyinuseRequestBody { - var ids []string = nil - for _, idsItem := range r.Ids { - ids = append(ids, idsItem.ValueString()) - } - out := operations.PostSteeringAppsPrivateTagsGetpolicyinuseRequestBody{ - Ids: ids, - } - return &out -} - -func (r *PrivateAppTagPolicyUseListDataSourceModel) RefreshFromGetResponse(resp *operations.PostSteeringAppsPrivateTagsGetpolicyinuseResponseBody) { - if len(r.Data) > len(resp.Data) { - r.Data = r.Data[:len(resp.Data)] - } - for dataCount, dataItem := range resp.Data { - var data1 PostSteeringAppsPrivateTagsGetpolicyinuseData - if dataItem.Token != nil { - data1.Token = types.StringValue(*dataItem.Token) - } else { - data1.Token = types.StringNull() - } - if dataCount+1 > len(r.Data) { - r.Data = append(r.Data, data1) - } else { - r.Data[dataCount].Token = data1.Token - } - } -} diff --git a/internal/provider/provider.go b/internal/provider/provider.go index 55cf73e..4b46771 100644 --- a/internal/provider/provider.go +++ b/internal/provider/provider.go @@ -4,39 +4,39 @@ package provider import ( "context" - "github.com/netskope/terraform-provider-ns/internal/sdk" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "github.com/hashicorp/terraform-plugin-framework/datasource" "github.com/hashicorp/terraform-plugin-framework/provider" "github.com/hashicorp/terraform-plugin-framework/provider/schema" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" ) -var _ provider.Provider = &NsProvider{} +var _ provider.Provider = &TerraformProvider{} -type NsProvider struct { +type TerraformProvider struct { // version is set to the provider version on release, "dev" when the // provider is built and ran locally, and "test" when running acceptance // testing. version string } -// NsProviderModel describes the provider data model. -type NsProviderModel struct { +// TerraformProviderModel describes the provider data model. +type TerraformProviderModel struct { ServerURL types.String `tfsdk:"server_url"` APIKey types.String `tfsdk:"api_key"` } -func (p *NsProvider) Metadata(ctx context.Context, req provider.MetadataRequest, resp *provider.MetadataResponse) { - resp.TypeName = "ns" +func (p *TerraformProvider) Metadata(ctx context.Context, req provider.MetadataRequest, resp *provider.MetadataResponse) { + resp.TypeName = "terraform" resp.Version = p.version } -func (p *NsProvider) Schema(ctx context.Context, req provider.SchemaRequest, resp *provider.SchemaResponse) { +func (p *TerraformProvider) Schema(ctx context.Context, req provider.SchemaRequest, resp *provider.SchemaResponse) { resp.Schema = schema.Schema{ - Description: `npa_private_app_tags: NPA Private app tag operations.`, + Description: `Netskope Terraform Provider: Combined specification to produce netskope terraform provider via speakeasy`, Attributes: map[string]schema.Attribute{ "server_url": schema.StringAttribute{ MarkdownDescription: "Server URL (defaults to https://{tenant}.goskope.com/api/v2)", @@ -51,8 +51,8 @@ func (p *NsProvider) Schema(ctx context.Context, req provider.SchemaRequest, res } } -func (p *NsProvider) Configure(ctx context.Context, req provider.ConfigureRequest, resp *provider.ConfigureResponse) { - var data NsProviderModel +func (p *TerraformProvider) Configure(ctx context.Context, req provider.ConfigureRequest, resp *provider.ConfigureResponse) { + var data TerraformProviderModel resp.Diagnostics.Append(req.Config.Get(ctx, &data)...) @@ -74,6 +74,7 @@ func (p *NsProvider) Configure(ctx context.Context, req provider.ConfigureReques opts := []sdk.SDKOption{ sdk.WithServerURL(ServerURL), sdk.WithSecurity(security), + sdk.WithClient(http.DefaultClient), } client := sdk.New(opts...) @@ -81,42 +82,31 @@ func (p *NsProvider) Configure(ctx context.Context, req provider.ConfigureReques resp.ResourceData = client } -func (p *NsProvider) Resources(ctx context.Context) []func() resource.Resource { +func (p *TerraformProvider) Resources(ctx context.Context) []func() resource.Resource { return []func() resource.Resource{ NewNPAPolicyResource, - NewNPAPolicyGroupResource, NewNPAPublishersResource, NewNPAPublishersAlertsConfigurationResource, NewNPAPublishersBulkUpgradeResource, - NewNPAPublisherUpgradeProfileResource, - NewPrivateAppResource, - NewPrivateAppTagResource, NewPublisherTokenResource, } } -func (p *NsProvider) DataSources(ctx context.Context) []func() datasource.DataSource { +func (p *TerraformProvider) DataSources(ctx context.Context) []func() datasource.DataSource { return []func() datasource.DataSource{ NewNPAPolicyDataSource, - NewNPAPolicyGroupDataSource, NewNPAPolicyListDataSource, NewNPAPublishersDataSource, NewNPAPublishersAlertsConfigurationDataSource, NewNPAPublishersAppsListDataSource, NewNPAPublishersListDataSource, NewNPAPublishersReleasesListDataSource, - NewNPAPublisherUpgradeProfileDataSource, - NewNPAPublisherUpgradeProfileListDataSource, - NewPolicyGroupListDataSource, - NewPrivateAppListDataSource, - NewPrivateAppTagListDataSource, - NewPrivateAppTagPolicyUseListDataSource, } } func New(version string) func() provider.Provider { return func() provider.Provider { - return &NsProvider{ + return &TerraformProvider{ version: version, } } diff --git a/internal/provider/publishertoken_resource.go b/internal/provider/publishertoken_resource.go index 012815f..40eb009 100644 --- a/internal/provider/publishertoken_resource.go +++ b/internal/provider/publishertoken_resource.go @@ -5,14 +5,14 @@ package provider import ( "context" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk" - "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64planmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -25,7 +25,7 @@ func NewPublisherTokenResource() resource.Resource { // PublisherTokenResource defines the resource implementation. type PublisherTokenResource struct { - client *sdk.SDK + client *sdk.TerraformProviderNs } // PublisherTokenResourceModel describes the resource data model. @@ -45,10 +45,10 @@ func (r *PublisherTokenResource) Schema(ctx context.Context, req resource.Schema Attributes: map[string]schema.Attribute{ "publisher_id": schema.Int64Attribute{ PlanModifiers: []planmodifier.Int64{ - int64planmodifier.RequiresReplace(), + int64planmodifier.RequiresReplaceIfConfigured(), }, Required: true, - Description: `publisher id`, + Description: `publisher id. Requires replacement if changed. `, }, "token": schema.StringAttribute{ Computed: true, @@ -63,12 +63,12 @@ func (r *PublisherTokenResource) Configure(ctx context.Context, req resource.Con return } - client, ok := req.ProviderData.(*sdk.SDK) + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) if !ok { resp.Diagnostics.AddError( "Unexpected Resource Configure Type", - fmt.Sprintf("Expected *sdk.SDK, got: %T. Please report this issue to the provider developers.", req.ProviderData), + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), ) return @@ -79,14 +79,14 @@ func (r *PublisherTokenResource) Configure(ctx context.Context, req resource.Con func (r *PublisherTokenResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { var data *PublisherTokenResourceModel - var item types.Object + var plan types.Object - resp.Diagnostics.Append(req.Plan.Get(ctx, &item)...) + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) if resp.Diagnostics.HasError() { return } - resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + resp.Diagnostics.Append(plan.As(ctx, &data, basetypes.ObjectAsOptions{ UnhandledNullAsEmpty: true, UnhandledUnknownAsEmpty: true, })...) @@ -95,7 +95,10 @@ func (r *PublisherTokenResource) Create(ctx context.Context, req resource.Create return } - request := *data.ToCreateSDKType() + publisherID := int(data.PublisherID.ValueInt64()) + request := operations.PostInfrastructurePublishersPublisherIDRegistrationTokenRequest{ + PublisherID: publisherID, + } res, err := r.client.PublisherToken.Create(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) @@ -116,7 +119,8 @@ func (r *PublisherTokenResource) Create(ctx context.Context, req resource.Create resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) return } - data.RefreshFromCreateResponse(&res.Object.Data) + data.RefreshFromOperationsData(res.Object.Data) + refreshPlan(ctx, plan, &data, resp.Diagnostics) // Save updated data into Terraform state resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) @@ -148,6 +152,13 @@ func (r *PublisherTokenResource) Read(ctx context.Context, req resource.ReadRequ func (r *PublisherTokenResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { var data *PublisherTokenResourceModel + var plan types.Object + + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + merge(ctx, req, resp, &data) if resp.Diagnostics.HasError() { return diff --git a/internal/provider/publishertoken_resource_sdk.go b/internal/provider/publishertoken_resource_sdk.go index 6e19afc..979a810 100644 --- a/internal/provider/publishertoken_resource_sdk.go +++ b/internal/provider/publishertoken_resource_sdk.go @@ -4,17 +4,9 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" ) -func (r *PublisherTokenResourceModel) ToCreateSDKType() *operations.PostInfrastructurePublishersPublisherIDRegistrationTokenRequest { - publisherID := int(r.PublisherID.ValueInt64()) - out := operations.PostInfrastructurePublishersPublisherIDRegistrationTokenRequest{ - PublisherID: publisherID, - } - return &out -} - -func (r *PublisherTokenResourceModel) RefreshFromCreateResponse(resp *operations.PostInfrastructurePublishersPublisherIDRegistrationTokenData) { +func (r *PublisherTokenResourceModel) RefreshFromOperationsData(resp operations.Data) { r.Token = types.StringValue(resp.Token) } diff --git a/internal/provider/type_group_order.go b/internal/provider/type_group_order.go deleted file mode 100644 index eb58e90..0000000 --- a/internal/provider/type_group_order.go +++ /dev/null @@ -1,10 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import "github.com/hashicorp/terraform-plugin-framework/types" - -type GroupOrder struct { - GroupID types.String `tfsdk:"group_id"` - Order types.String `tfsdk:"order"` -} diff --git a/internal/provider/type_npa_policygroup_response_item.go b/internal/provider/type_npa_policygroup_response_item.go deleted file mode 100644 index 956e068..0000000 --- a/internal/provider/type_npa_policygroup_response_item.go +++ /dev/null @@ -1,16 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import "github.com/hashicorp/terraform-plugin-framework/types" - -type NpaPolicygroupResponseItem struct { - CanBeEditedDeleted types.String `tfsdk:"can_be_edited_deleted"` - GroupID types.String `tfsdk:"group_id"` - GroupName types.String `tfsdk:"group_name"` - GroupPinnedID types.Int64 `tfsdk:"group_pinned_id"` - GroupProdID types.Int64 `tfsdk:"group_prod_id"` - GroupType types.String `tfsdk:"group_type"` - ModifyTime types.String `tfsdk:"modify_time"` - ModifyType types.String `tfsdk:"modify_type"` -} diff --git a/internal/provider/type_post_steering_apps_private_tags_getpolicyinuse_data.go b/internal/provider/type_post_steering_apps_private_tags_getpolicyinuse_data.go deleted file mode 100644 index 3b40645..0000000 --- a/internal/provider/type_post_steering_apps_private_tags_getpolicyinuse_data.go +++ /dev/null @@ -1,9 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import "github.com/hashicorp/terraform-plugin-framework/types" - -type PostSteeringAppsPrivateTagsGetpolicyinuseData struct { - Token types.String `tfsdk:"token"` -} diff --git a/internal/provider/type_private_apps_get_response_data.go b/internal/provider/type_private_apps_get_response_data.go deleted file mode 100644 index 7610718..0000000 --- a/internal/provider/type_private_apps_get_response_data.go +++ /dev/null @@ -1,9 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import "github.com/hashicorp/terraform-plugin-framework/types" - -type PrivateAppsGetResponseData struct { - PrivateApps []types.String `tfsdk:"private_apps"` -} diff --git a/internal/provider/type_protocol_item.go b/internal/provider/type_protocol_item.go deleted file mode 100644 index 43ae8e7..0000000 --- a/internal/provider/type_protocol_item.go +++ /dev/null @@ -1,10 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import "github.com/hashicorp/terraform-plugin-framework/types" - -type ProtocolItem struct { - Port types.String `tfsdk:"port"` - Type types.String `tfsdk:"type"` -} diff --git a/internal/provider/type_publisher_assessment.go b/internal/provider/type_publisher_assessment.go index cfe9d30..b6122e7 100644 --- a/internal/provider/type_publisher_assessment.go +++ b/internal/provider/type_publisher_assessment.go @@ -3,6 +3,6 @@ package provider type PublisherAssessment struct { - Assessment *Assessment `tfsdk:"assessment"` Two *PublisherBulkItemAssessment `tfsdk:"two"` + Assessment *Assessment `tfsdk:"assessment"` } diff --git a/internal/provider/type_publisher_item.go b/internal/provider/type_publisher_item.go deleted file mode 100644 index 405cc03..0000000 --- a/internal/provider/type_publisher_item.go +++ /dev/null @@ -1,10 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import "github.com/hashicorp/terraform-plugin-framework/types" - -type PublisherItem struct { - PublisherID types.String `tfsdk:"publisher_id"` - PublisherName types.String `tfsdk:"publisher_name"` -} diff --git a/internal/provider/type_publisher_upgrade_failed_reason.go b/internal/provider/type_publisher_upgrade_failed_reason.go index fb83acf..4a6c63a 100644 --- a/internal/provider/type_publisher_upgrade_failed_reason.go +++ b/internal/provider/type_publisher_upgrade_failed_reason.go @@ -3,6 +3,6 @@ package provider type PublisherUpgradeFailedReason struct { - UpgradeFailedReason *UpgradeFailedReason `tfsdk:"upgrade_failed_reason"` Two *PublisherBulkItemAssessment `tfsdk:"two"` + UpgradeFailedReason *UpgradeFailedReason `tfsdk:"upgrade_failed_reason"` } diff --git a/internal/provider/type_publisher_upgrade_profile_get_response_data.go b/internal/provider/type_publisher_upgrade_profile_get_response_data.go deleted file mode 100644 index e43659c..0000000 --- a/internal/provider/type_publisher_upgrade_profile_get_response_data.go +++ /dev/null @@ -1,7 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -type PublisherUpgradeProfileGetResponseData struct { - UpgradeProfiles []UpgradeProfiles `tfsdk:"upgrade_profiles"` -} diff --git a/internal/provider/type_tag_item_no_id.go b/internal/provider/type_tag_item_no_id.go deleted file mode 100644 index c81a4f5..0000000 --- a/internal/provider/type_tag_item_no_id.go +++ /dev/null @@ -1,9 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import "github.com/hashicorp/terraform-plugin-framework/types" - -type TagItemNoID struct { - TagName types.String `tfsdk:"tag_name"` -} diff --git a/internal/provider/type_upgrade_profiles.go b/internal/provider/type_upgrade_profiles.go deleted file mode 100644 index 4596563..0000000 --- a/internal/provider/type_upgrade_profiles.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import "github.com/hashicorp/terraform-plugin-framework/types" - -type UpgradeProfiles struct { - CreatedAt types.String `tfsdk:"created_at"` - DockerTag types.String `tfsdk:"docker_tag"` - Enabled types.Bool `tfsdk:"enabled"` - ExternalID types.Int64 `tfsdk:"external_id"` - Frequency types.String `tfsdk:"frequency"` - ID types.Int64 `tfsdk:"id"` - Name types.String `tfsdk:"name"` - NextUpdateTime types.Int64 `tfsdk:"next_update_time"` - NumAssociatedPublisher types.Int64 `tfsdk:"num_associated_publisher"` - ReleaseType types.String `tfsdk:"release_type"` - Timezone types.String `tfsdk:"timezone"` - UpdatedAt types.String `tfsdk:"updated_at"` - UpgradingStage types.Int64 `tfsdk:"upgrading_stage"` - WillStart types.Bool `tfsdk:"will_start"` -} diff --git a/internal/provider/utils.go b/internal/provider/utils.go index f8e01e7..77f9681 100644 --- a/internal/provider/utils.go +++ b/internal/provider/utils.go @@ -11,7 +11,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" - tfReflect "github.com/netskope/terraform-provider-ns/internal/provider/reflect" + tfReflect "github.com/speakeasy/terraform-provider-terraform/internal/provider/reflect" "net/http" "net/http/httputil" "reflect" @@ -69,15 +69,17 @@ func merge(ctx context.Context, req resource.UpdateRequest, resp *resource.Updat return } - // we need a tftypes.Value for this Object to be able to use it with - // our reflection code + refreshPlan(ctx, plan, target, resp.Diagnostics) +} + +func refreshPlan(ctx context.Context, plan types.Object, target interface{}, diagnostics diag.Diagnostics) { obj := types.ObjectType{AttrTypes: plan.AttributeTypes(ctx)} val, err := plan.ToTerraformValue(ctx) if err != nil { - resp.Diagnostics.Append(diag.NewErrorDiagnostic("Object Conversion Error", "An unexpected error was encountered trying to convert object. This is always an error in the provider. Please report the following to the provider developer:\n\n"+err.Error())) + diagnostics.Append(diag.NewErrorDiagnostic("Object Conversion Error", "An unexpected error was encountered trying to convert object. This is always an error in the provider. Please report the following to the provider developer:\n\n"+err.Error())) return } - resp.Diagnostics.Append(tfReflect.Into(ctx, obj, val, target, tfReflect.Options{ + diagnostics.Append(tfReflect.Into(ctx, obj, val, target, tfReflect.Options{ UnhandledNullAsEmpty: true, UnhandledUnknownAsEmpty: true, }, path.Empty())...) diff --git a/internal/sdk/npapublishers.go b/internal/sdk/npapublishers.go index 1e84029..55efda3 100644 --- a/internal/sdk/npapublishers.go +++ b/internal/sdk/npapublishers.go @@ -6,10 +6,10 @@ import ( "bytes" "context" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/sdkerrors" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/sdkerrors" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" "io" "net/http" "strings" @@ -25,32 +25,19 @@ func newNPAPublishers(sdkConfig sdkConfiguration) *NPAPublishers { } } -// Create a publisher -// Create a publisher -func (s *NPAPublishers) Create(ctx context.Context, request operations.PostInfrastructurePublishersRequest) (*operations.PostInfrastructurePublishersResponse, error) { +// ListObjects - Get list of publisher objects +// Get list of publisher objects +func (s *NPAPublishers) ListObjects(ctx context.Context, request operations.GetInfrastructurePublishersRequest) (*operations.GetInfrastructurePublishersResponse, error) { baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publishers" - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PublisherPostRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - req.Header.Set("Content-Type", reqContentType) - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { return nil, fmt.Errorf("error populating query params: %w", err) } @@ -69,13 +56,12 @@ func (s *NPAPublishers) Create(ctx context.Context, request operations.PostInfra if err != nil { return nil, fmt.Errorf("error reading response body: %w", err) } - httpRes.Request.Body = io.NopCloser(debugBody) httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) contentType := httpRes.Header.Get("Content-Type") - res := &operations.PostInfrastructurePublishersResponse{ + res := &operations.GetInfrastructurePublishersResponse{ StatusCode: httpRes.StatusCode, ContentType: contentType, RawResponse: httpRes, @@ -84,12 +70,12 @@ func (s *NPAPublishers) Create(ctx context.Context, request operations.PostInfra case httpRes.StatusCode == 200: switch { case utils.MatchContentType(contentType, `application/json`): - var out shared.PublisherResponse + var out shared.PublishersGetResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.PublisherResponse = &out + res.PublishersGetResponse = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } @@ -110,22 +96,36 @@ func (s *NPAPublishers) Create(ctx context.Context, request operations.PostInfra return res, nil } -// Delete a publisher -// Delete a publisher based on publisher id -func (s *NPAPublishers) Delete(ctx context.Context, request operations.DeleteInfrastructurePublishersPublisherIDRequest) (*operations.DeleteInfrastructurePublishersPublisherIDResponse, error) { +// Create a publisher +// Create a publisher +func (s *NPAPublishers) Create(ctx context.Context, request operations.PostInfrastructurePublishersRequest) (*operations.PostInfrastructurePublishersResponse, error) { baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publishers/{publisher_id}", request, nil) + url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publishers" + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PublisherPostRequest", "json", `request:"mediaType=application/json"`) if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) + return nil, fmt.Errorf("error serializing request body: %w", err) + } + if bodyReader == nil { + return nil, fmt.Errorf("request body is required") } - req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil) + debugBody := bytes.NewBuffer([]byte{}) + debugReader := io.TeeReader(bodyReader, debugBody) + + req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + client := s.sdkConfiguration.SecurityClient httpRes, err := client.Do(req) @@ -140,12 +140,13 @@ func (s *NPAPublishers) Delete(ctx context.Context, request operations.DeleteInf if err != nil { return nil, fmt.Errorf("error reading response body: %w", err) } + httpRes.Request.Body = io.NopCloser(debugBody) httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) contentType := httpRes.Header.Get("Content-Type") - res := &operations.DeleteInfrastructurePublishersPublisherIDResponse{ + res := &operations.PostInfrastructurePublishersResponse{ StatusCode: httpRes.StatusCode, ContentType: contentType, RawResponse: httpRes, @@ -154,12 +155,12 @@ func (s *NPAPublishers) Delete(ctx context.Context, request operations.DeleteInf case httpRes.StatusCode == 200: switch { case utils.MatchContentType(contentType, `application/json`): - var out operations.DeleteInfrastructurePublishersPublisherIDResponseBody + var out shared.PublisherResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.Object = &out + res.PublisherResponse = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } @@ -180,23 +181,22 @@ func (s *NPAPublishers) Delete(ctx context.Context, request operations.DeleteInf return res, nil } -// ListObjects - Get list of publisher objects -// Get list of publisher objects -func (s *NPAPublishers) ListObjects(ctx context.Context, request operations.GetInfrastructurePublishersRequest) (*operations.GetInfrastructurePublishersResponse, error) { +// Delete a publisher +// Delete a publisher based on publisher id +func (s *NPAPublishers) Delete(ctx context.Context, request operations.DeleteInfrastructurePublishersPublisherIDRequest) (*operations.DeleteInfrastructurePublishersPublisherIDResponse, error) { baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publishers" + url, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publishers/{publisher_id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - client := s.sdkConfiguration.SecurityClient httpRes, err := client.Do(req) @@ -216,7 +216,7 @@ func (s *NPAPublishers) ListObjects(ctx context.Context, request operations.GetI contentType := httpRes.Header.Get("Content-Type") - res := &operations.GetInfrastructurePublishersResponse{ + res := &operations.DeleteInfrastructurePublishersPublisherIDResponse{ StatusCode: httpRes.StatusCode, ContentType: contentType, RawResponse: httpRes, @@ -225,12 +225,12 @@ func (s *NPAPublishers) ListObjects(ctx context.Context, request operations.GetI case httpRes.StatusCode == 200: switch { case utils.MatchContentType(contentType, `application/json`): - var out shared.PublishersGetResponse + var out operations.DeleteInfrastructurePublishersPublisherIDResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.PublishersGetResponse = &out + res.Object = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } @@ -251,22 +251,39 @@ func (s *NPAPublishers) ListObjects(ctx context.Context, request operations.GetI return res, nil } -// Read - Get a publisher -// get a publisher based on publisher id -func (s *NPAPublishers) Read(ctx context.Context, request operations.GetInfrastructurePublishersPublisherIDRequest) (*operations.GetInfrastructurePublishersPublisherIDResponse, error) { +// Update a publisher +// update a publisher based on publisher id +func (s *NPAPublishers) Update(ctx context.Context, request operations.PutInfrastructurePublishersPublisherIDRequest) (*operations.PutInfrastructurePublishersPublisherIDResponse, error) { baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) url, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publishers/{publisher_id}", request, nil) if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PublisherPutRequest", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, fmt.Errorf("error serializing request body: %w", err) + } + if bodyReader == nil { + return nil, fmt.Errorf("request body is required") + } + + debugBody := bytes.NewBuffer([]byte{}) + debugReader := io.TeeReader(bodyReader, debugBody) + + req, err := http.NewRequestWithContext(ctx, "PUT", url, debugReader) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + client := s.sdkConfiguration.SecurityClient httpRes, err := client.Do(req) @@ -281,12 +298,13 @@ func (s *NPAPublishers) Read(ctx context.Context, request operations.GetInfrastr if err != nil { return nil, fmt.Errorf("error reading response body: %w", err) } + httpRes.Request.Body = io.NopCloser(debugBody) httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) contentType := httpRes.Header.Get("Content-Type") - res := &operations.GetInfrastructurePublishersPublisherIDResponse{ + res := &operations.PutInfrastructurePublishersPublisherIDResponse{ StatusCode: httpRes.StatusCode, ContentType: contentType, RawResponse: httpRes, @@ -321,39 +339,22 @@ func (s *NPAPublishers) Read(ctx context.Context, request operations.GetInfrastr return res, nil } -// Update a publisher -// update a publisher based on publisher id -func (s *NPAPublishers) Update(ctx context.Context, request operations.PutInfrastructurePublishersPublisherIDRequest) (*operations.PutInfrastructurePublishersPublisherIDResponse, error) { +// Read - Get a publisher +// get a publisher based on publisher id +func (s *NPAPublishers) Read(ctx context.Context, request operations.GetInfrastructurePublishersPublisherIDRequest) (*operations.GetInfrastructurePublishersPublisherIDResponse, error) { baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) url, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publishers/{publisher_id}", request, nil) if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PublisherPutRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PUT", url, debugReader) + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - req.Header.Set("Content-Type", reqContentType) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - client := s.sdkConfiguration.SecurityClient httpRes, err := client.Do(req) @@ -368,13 +369,12 @@ func (s *NPAPublishers) Update(ctx context.Context, request operations.PutInfras if err != nil { return nil, fmt.Errorf("error reading response body: %w", err) } - httpRes.Request.Body = io.NopCloser(debugBody) httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) contentType := httpRes.Header.Get("Content-Type") - res := &operations.PutInfrastructurePublishersPublisherIDResponse{ + res := &operations.GetInfrastructurePublishersPublisherIDResponse{ StatusCode: httpRes.StatusCode, ContentType: contentType, RawResponse: httpRes, diff --git a/internal/sdk/npapublishersapps.go b/internal/sdk/npapublishersapps.go index 7566ada..3e6936a 100644 --- a/internal/sdk/npapublishersapps.go +++ b/internal/sdk/npapublishersapps.go @@ -6,10 +6,10 @@ import ( "bytes" "context" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/sdkerrors" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/sdkerrors" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" "io" "net/http" ) diff --git a/internal/sdk/npapublishersreleases.go b/internal/sdk/npapublishersreleases.go index d362e70..e7702e0 100644 --- a/internal/sdk/npapublishersreleases.go +++ b/internal/sdk/npapublishersreleases.go @@ -6,10 +6,10 @@ import ( "bytes" "context" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/sdkerrors" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/sdkerrors" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" "io" "net/http" "strings" diff --git a/internal/sdk/npapublisherupgradeprofiles.go b/internal/sdk/npapublisherupgradeprofiles.go deleted file mode 100644 index 3151403..0000000 --- a/internal/sdk/npapublisherupgradeprofiles.go +++ /dev/null @@ -1,406 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package sdk - -import ( - "bytes" - "context" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/sdkerrors" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/utils" - "io" - "net/http" - "strings" -) - -type NPAPublisherUpgradeProfiles struct { - sdkConfiguration sdkConfiguration -} - -func newNPAPublisherUpgradeProfiles(sdkConfig sdkConfiguration) *NPAPublisherUpgradeProfiles { - return &NPAPublisherUpgradeProfiles{ - sdkConfiguration: sdkConfig, - } -} - -// Create a publisher upgrade profile -// Create a publisher upgrade profile -func (s *NPAPublisherUpgradeProfiles) Create(ctx context.Context, request operations.PostInfrastructurePublisherupgradeprofilesRequest) (*operations.PostInfrastructurePublisherupgradeprofilesResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publisherupgradeprofiles" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "PublisherUpgradeProfilePostRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PostInfrastructurePublisherupgradeprofilesResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PublisherUpgradeProfileResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PublisherUpgradeProfileResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.FourHundred - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.FourHundred = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// Delete a publisher -// Delete a publisher upgrade profile based on profile id -func (s *NPAPublisherUpgradeProfiles) Delete(ctx context.Context, request operations.DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) (*operations.DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publisherupgradeprofiles/{upgrade_profile_id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.FourHundred - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.FourHundred = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// ListObjects - Get list of publisher upgrade profile objects -// Get list of publisher upgrade profile objects -func (s *NPAPublisherUpgradeProfiles) ListObjects(ctx context.Context, request operations.GetInfrastructurePublisherupgradeprofilesRequest) (*operations.GetInfrastructurePublisherupgradeprofilesResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publisherupgradeprofiles" - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetInfrastructurePublisherupgradeprofilesResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PublisherUpgradeProfileGetResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PublisherUpgradeProfileGetResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.FourHundred - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.FourHundred = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// Read - Get a publisher upgrade profile -// get a publisher upgrade profile based on publisher upgrade profile id -func (s *NPAPublisherUpgradeProfiles) Read(ctx context.Context, request operations.GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) (*operations.GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publisherupgradeprofiles/{upgrade_profile_id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PublisherUpgradeProfileResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PublisherUpgradeProfileResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.FourHundred - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.FourHundred = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// Update a publisher upgrade profile -// update a publisher upgrade profile based on publisher upgrade profile id -func (s *NPAPublisherUpgradeProfiles) Update(ctx context.Context, request operations.PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) (*operations.PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publisherupgradeprofiles/{upgrade_profile_id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PublisherUpgradeProfilePutRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PUT", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PublisherUpgradeProfileResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PublisherUpgradeProfileResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.FourHundred - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.FourHundred = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} diff --git a/internal/sdk/pkg/models/operations/deleteinfrastructurepublisherspublisherid.go b/internal/sdk/pkg/models/operations/deleteinfrastructurepublisherspublisherid.go index 76c6acb..5783e6e 100644 --- a/internal/sdk/pkg/models/operations/deleteinfrastructurepublisherspublisherid.go +++ b/internal/sdk/pkg/models/operations/deleteinfrastructurepublisherspublisherid.go @@ -5,7 +5,7 @@ package operations import ( "encoding/json" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" "net/http" ) @@ -21,18 +21,18 @@ func (o *DeleteInfrastructurePublishersPublisherIDRequest) GetPublisherID() int return o.PublisherID } -type DeleteInfrastructurePublishersPublisherIDStatus string +type Status string const ( - DeleteInfrastructurePublishersPublisherIDStatusSuccess DeleteInfrastructurePublishersPublisherIDStatus = "success" - DeleteInfrastructurePublishersPublisherIDStatusError DeleteInfrastructurePublishersPublisherIDStatus = "error" + StatusSuccess Status = "success" + StatusError Status = "error" ) -func (e DeleteInfrastructurePublishersPublisherIDStatus) ToPointer() *DeleteInfrastructurePublishersPublisherIDStatus { +func (e Status) ToPointer() *Status { return &e } -func (e *DeleteInfrastructurePublishersPublisherIDStatus) UnmarshalJSON(data []byte) error { +func (e *Status) UnmarshalJSON(data []byte) error { var v string if err := json.Unmarshal(data, &v); err != nil { return err @@ -41,19 +41,19 @@ func (e *DeleteInfrastructurePublishersPublisherIDStatus) UnmarshalJSON(data []b case "success": fallthrough case "error": - *e = DeleteInfrastructurePublishersPublisherIDStatus(v) + *e = Status(v) return nil default: - return fmt.Errorf("invalid value for DeleteInfrastructurePublishersPublisherIDStatus: %v", v) + return fmt.Errorf("invalid value for Status: %v", v) } } // DeleteInfrastructurePublishersPublisherIDResponseBody - successful operation type DeleteInfrastructurePublishersPublisherIDResponseBody struct { - Status *DeleteInfrastructurePublishersPublisherIDStatus `json:"status,omitempty"` + Status *Status `json:"status,omitempty"` } -func (o *DeleteInfrastructurePublishersPublisherIDResponseBody) GetStatus() *DeleteInfrastructurePublishersPublisherIDStatus { +func (o *DeleteInfrastructurePublishersPublisherIDResponseBody) GetStatus() *Status { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/deleteinfrastructurepublisherupgradeprofilesupgradeprofileid.go b/internal/sdk/pkg/models/operations/deleteinfrastructurepublisherupgradeprofilesupgradeprofileid.go deleted file mode 100644 index 9624ac6..0000000 --- a/internal/sdk/pkg/models/operations/deleteinfrastructurepublisherupgradeprofilesupgradeprofileid.go +++ /dev/null @@ -1,109 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest struct { - // publisher upgrade profile id - UpgradeProfileID int `pathParam:"style=simple,explode=false,name=upgrade_profile_id"` -} - -func (o *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) GetUpgradeProfileID() int { - if o == nil { - return 0 - } - return o.UpgradeProfileID -} - -type DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus string - -const ( - DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatusSuccess DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus = "success" - DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatusError DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus = "error" -) - -func (e DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus) ToPointer() *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus { - return &e -} - -func (e *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "success": - fallthrough - case "error": - *e = DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus(v) - return nil - default: - return fmt.Errorf("invalid value for DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus: %v", v) - } -} - -// DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponseBody - successful operation -type DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponseBody struct { - Status *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus `json:"status,omitempty"` -} - -func (o *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponseBody) GetStatus() *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus { - if o == nil { - return nil - } - return o.Status -} - -type DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse struct { - // Invalid request - FourHundred *shared.FourHundred - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - Object *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponseBody -} - -func (o *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetFourHundred() *shared.FourHundred { - if o == nil { - return nil - } - return o.FourHundred -} - -func (o *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetObject() *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponseBody { - if o == nil { - return nil - } - return o.Object -} diff --git a/internal/sdk/pkg/models/operations/deletepolicynpapolicygroupsid.go b/internal/sdk/pkg/models/operations/deletepolicynpapolicygroupsid.go deleted file mode 100644 index 1b01196..0000000 --- a/internal/sdk/pkg/models/operations/deletepolicynpapolicygroupsid.go +++ /dev/null @@ -1,109 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type DeletePolicyNpaPolicygroupsIDRequest struct { - // npa policy group id - ID string `pathParam:"style=simple,explode=false,name=id"` -} - -func (o *DeletePolicyNpaPolicygroupsIDRequest) GetID() string { - if o == nil { - return "" - } - return o.ID -} - -type Status string - -const ( - StatusSuccess Status = "success" - StatusError Status = "error" -) - -func (e Status) ToPointer() *Status { - return &e -} - -func (e *Status) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "success": - fallthrough - case "error": - *e = Status(v) - return nil - default: - return fmt.Errorf("invalid value for Status: %v", v) - } -} - -// DeletePolicyNpaPolicygroupsIDResponseBody - successful operation -type DeletePolicyNpaPolicygroupsIDResponseBody struct { - Status *Status `json:"status,omitempty"` -} - -func (o *DeletePolicyNpaPolicygroupsIDResponseBody) GetStatus() *Status { - if o == nil { - return nil - } - return o.Status -} - -type DeletePolicyNpaPolicygroupsIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // Invalid request - NpaPolicygroupResponse400 *shared.NpaPolicygroupResponse400 - // successful operation - Object *DeletePolicyNpaPolicygroupsIDResponseBody -} - -func (o *DeletePolicyNpaPolicygroupsIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *DeletePolicyNpaPolicygroupsIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *DeletePolicyNpaPolicygroupsIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *DeletePolicyNpaPolicygroupsIDResponse) GetNpaPolicygroupResponse400() *shared.NpaPolicygroupResponse400 { - if o == nil { - return nil - } - return o.NpaPolicygroupResponse400 -} - -func (o *DeletePolicyNpaPolicygroupsIDResponse) GetObject() *DeletePolicyNpaPolicygroupsIDResponseBody { - if o == nil { - return nil - } - return o.Object -} diff --git a/internal/sdk/pkg/models/operations/deletepolicynparulesid.go b/internal/sdk/pkg/models/operations/deletepolicynparulesid.go index c2a5823..8afe169 100644 --- a/internal/sdk/pkg/models/operations/deletepolicynparulesid.go +++ b/internal/sdk/pkg/models/operations/deletepolicynparulesid.go @@ -3,7 +3,7 @@ package operations import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" "net/http" ) @@ -38,10 +38,10 @@ type DeletePolicyNpaRulesIDResponse struct { StatusCode int // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response - // Invalid request - NpaPolicyResponse400 *shared.NpaPolicyResponse400 // successful operation Object *DeletePolicyNpaRulesIDResponseBody + // Invalid request + NpaPolicyResponse400 *shared.NpaPolicyResponse400 } func (o *DeletePolicyNpaRulesIDResponse) GetContentType() string { @@ -65,16 +65,16 @@ func (o *DeletePolicyNpaRulesIDResponse) GetRawResponse() *http.Response { return o.RawResponse } -func (o *DeletePolicyNpaRulesIDResponse) GetNpaPolicyResponse400() *shared.NpaPolicyResponse400 { +func (o *DeletePolicyNpaRulesIDResponse) GetObject() *DeletePolicyNpaRulesIDResponseBody { if o == nil { return nil } - return o.NpaPolicyResponse400 + return o.Object } -func (o *DeletePolicyNpaRulesIDResponse) GetObject() *DeletePolicyNpaRulesIDResponseBody { +func (o *DeletePolicyNpaRulesIDResponse) GetNpaPolicyResponse400() *shared.NpaPolicyResponse400 { if o == nil { return nil } - return o.Object + return o.NpaPolicyResponse400 } diff --git a/internal/sdk/pkg/models/operations/deletesteeringappsprivateprivateappid.go b/internal/sdk/pkg/models/operations/deletesteeringappsprivateprivateappid.go deleted file mode 100644 index 47a1c82..0000000 --- a/internal/sdk/pkg/models/operations/deletesteeringappsprivateprivateappid.go +++ /dev/null @@ -1,72 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type DeleteSteeringAppsPrivatePrivateAppIDRequest struct { - // private apps id - PrivateAppID int `pathParam:"style=simple,explode=false,name=private_app_id"` -} - -func (o *DeleteSteeringAppsPrivatePrivateAppIDRequest) GetPrivateAppID() int { - if o == nil { - return 0 - } - return o.PrivateAppID -} - -// DeleteSteeringAppsPrivatePrivateAppIDResponseBody - successful operation -type DeleteSteeringAppsPrivatePrivateAppIDResponseBody struct { -} - -type DeleteSteeringAppsPrivatePrivateAppIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - Object *DeleteSteeringAppsPrivatePrivateAppIDResponseBody - // Invalid request - PrivateAppsResponse400 *shared.PrivateAppsResponse400 -} - -func (o *DeleteSteeringAppsPrivatePrivateAppIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *DeleteSteeringAppsPrivatePrivateAppIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *DeleteSteeringAppsPrivatePrivateAppIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *DeleteSteeringAppsPrivatePrivateAppIDResponse) GetObject() *DeleteSteeringAppsPrivatePrivateAppIDResponseBody { - if o == nil { - return nil - } - return o.Object -} - -func (o *DeleteSteeringAppsPrivatePrivateAppIDResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { - if o == nil { - return nil - } - return o.PrivateAppsResponse400 -} diff --git a/internal/sdk/pkg/models/operations/deletesteeringappsprivatetags.go b/internal/sdk/pkg/models/operations/deletesteeringappsprivatetags.go deleted file mode 100644 index 619bda1..0000000 --- a/internal/sdk/pkg/models/operations/deletesteeringappsprivatetags.go +++ /dev/null @@ -1,56 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type DeleteSteeringAppsPrivateTagsResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - TagResponse *shared.TagResponse - // Invalid request - TagResponse400 *shared.TagResponse400 -} - -func (o *DeleteSteeringAppsPrivateTagsResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *DeleteSteeringAppsPrivateTagsResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *DeleteSteeringAppsPrivateTagsResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *DeleteSteeringAppsPrivateTagsResponse) GetTagResponse() *shared.TagResponse { - if o == nil { - return nil - } - return o.TagResponse -} - -func (o *DeleteSteeringAppsPrivateTagsResponse) GetTagResponse400() *shared.TagResponse400 { - if o == nil { - return nil - } - return o.TagResponse400 -} diff --git a/internal/sdk/pkg/models/operations/deletesteeringappsprivatetagstagid.go b/internal/sdk/pkg/models/operations/deletesteeringappsprivatetagstagid.go deleted file mode 100644 index 7ad44ee..0000000 --- a/internal/sdk/pkg/models/operations/deletesteeringappsprivatetagstagid.go +++ /dev/null @@ -1,80 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type DeleteSteeringAppsPrivateTagsTagIDRequest struct { - // tag id - TagID int `pathParam:"style=simple,explode=false,name=tag_id"` - TagRequest shared.TagRequest `request:"mediaType=application/json"` -} - -func (o *DeleteSteeringAppsPrivateTagsTagIDRequest) GetTagID() int { - if o == nil { - return 0 - } - return o.TagID -} - -func (o *DeleteSteeringAppsPrivateTagsTagIDRequest) GetTagRequest() shared.TagRequest { - if o == nil { - return shared.TagRequest{} - } - return o.TagRequest -} - -// DeleteSteeringAppsPrivateTagsTagIDResponseBody - successful operation -type DeleteSteeringAppsPrivateTagsTagIDResponseBody struct { -} - -type DeleteSteeringAppsPrivateTagsTagIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - Object *DeleteSteeringAppsPrivateTagsTagIDResponseBody - // Invalid request - TagResponse400 *shared.TagResponse400 -} - -func (o *DeleteSteeringAppsPrivateTagsTagIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *DeleteSteeringAppsPrivateTagsTagIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *DeleteSteeringAppsPrivateTagsTagIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *DeleteSteeringAppsPrivateTagsTagIDResponse) GetObject() *DeleteSteeringAppsPrivateTagsTagIDResponseBody { - if o == nil { - return nil - } - return o.Object -} - -func (o *DeleteSteeringAppsPrivateTagsTagIDResponse) GetTagResponse400() *shared.TagResponse400 { - if o == nil { - return nil - } - return o.TagResponse400 -} diff --git a/internal/sdk/pkg/models/operations/deletesteeringgretunnelsid.go b/internal/sdk/pkg/models/operations/deletesteeringgretunnelsid.go deleted file mode 100644 index 67c22b7..0000000 --- a/internal/sdk/pkg/models/operations/deletesteeringgretunnelsid.go +++ /dev/null @@ -1,104 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type DeleteSteeringGreTunnelsIDRequest struct { - // GRE tunnel id - ID int64 `pathParam:"style=simple,explode=false,name=id"` -} - -func (o *DeleteSteeringGreTunnelsIDRequest) GetID() int64 { - if o == nil { - return 0 - } - return o.ID -} - -type DeleteSteeringGreTunnelsIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // Successful operation - GreResponse200 *shared.GreResponse200 - // Access forbidden - GreResponse403 *shared.GreResponse403 - // Not found - GreResponse404 *shared.GreResponse404 - // Method not allowed - GreResponse405 *shared.GreResponse405 - // Too many requests - GreResponse429 *shared.GreResponse429 - // Internal server error - GreResponse500 *shared.GreResponse500 -} - -func (o *DeleteSteeringGreTunnelsIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *DeleteSteeringGreTunnelsIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *DeleteSteeringGreTunnelsIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *DeleteSteeringGreTunnelsIDResponse) GetGreResponse200() *shared.GreResponse200 { - if o == nil { - return nil - } - return o.GreResponse200 -} - -func (o *DeleteSteeringGreTunnelsIDResponse) GetGreResponse403() *shared.GreResponse403 { - if o == nil { - return nil - } - return o.GreResponse403 -} - -func (o *DeleteSteeringGreTunnelsIDResponse) GetGreResponse404() *shared.GreResponse404 { - if o == nil { - return nil - } - return o.GreResponse404 -} - -func (o *DeleteSteeringGreTunnelsIDResponse) GetGreResponse405() *shared.GreResponse405 { - if o == nil { - return nil - } - return o.GreResponse405 -} - -func (o *DeleteSteeringGreTunnelsIDResponse) GetGreResponse429() *shared.GreResponse429 { - if o == nil { - return nil - } - return o.GreResponse429 -} - -func (o *DeleteSteeringGreTunnelsIDResponse) GetGreResponse500() *shared.GreResponse500 { - if o == nil { - return nil - } - return o.GreResponse500 -} diff --git a/internal/sdk/pkg/models/operations/deletesteeringipsectunnelsid.go b/internal/sdk/pkg/models/operations/deletesteeringipsectunnelsid.go deleted file mode 100644 index 5af2dc5..0000000 --- a/internal/sdk/pkg/models/operations/deletesteeringipsectunnelsid.go +++ /dev/null @@ -1,104 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type DeleteSteeringIpsecTunnelsIDRequest struct { - // IPSec tunnel id - ID int64 `pathParam:"style=simple,explode=false,name=id"` -} - -func (o *DeleteSteeringIpsecTunnelsIDRequest) GetID() int64 { - if o == nil { - return 0 - } - return o.ID -} - -type DeleteSteeringIpsecTunnelsIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // Successful operation - IpsecResponse200 *shared.IpsecResponse200 - // Access forbidden - IpsecResponse403 *shared.IpsecResponse403 - // Not found - IpsecResponse404 *shared.IpsecResponse404 - // Method not allowed - IpsecResponse405 *shared.IpsecResponse405 - // Too many requests - IpsecResponse429 *shared.IpsecResponse429 - // Internal server error - IpsecResponse500 *shared.IpsecResponse500 -} - -func (o *DeleteSteeringIpsecTunnelsIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *DeleteSteeringIpsecTunnelsIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *DeleteSteeringIpsecTunnelsIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *DeleteSteeringIpsecTunnelsIDResponse) GetIpsecResponse200() *shared.IpsecResponse200 { - if o == nil { - return nil - } - return o.IpsecResponse200 -} - -func (o *DeleteSteeringIpsecTunnelsIDResponse) GetIpsecResponse403() *shared.IpsecResponse403 { - if o == nil { - return nil - } - return o.IpsecResponse403 -} - -func (o *DeleteSteeringIpsecTunnelsIDResponse) GetIpsecResponse404() *shared.IpsecResponse404 { - if o == nil { - return nil - } - return o.IpsecResponse404 -} - -func (o *DeleteSteeringIpsecTunnelsIDResponse) GetIpsecResponse405() *shared.IpsecResponse405 { - if o == nil { - return nil - } - return o.IpsecResponse405 -} - -func (o *DeleteSteeringIpsecTunnelsIDResponse) GetIpsecResponse429() *shared.IpsecResponse429 { - if o == nil { - return nil - } - return o.IpsecResponse429 -} - -func (o *DeleteSteeringIpsecTunnelsIDResponse) GetIpsecResponse500() *shared.IpsecResponse500 { - if o == nil { - return nil - } - return o.IpsecResponse500 -} diff --git a/internal/sdk/pkg/models/operations/getinfrastructurepublishers.go b/internal/sdk/pkg/models/operations/getinfrastructurepublishers.go index 264b90f..3f51a8f 100644 --- a/internal/sdk/pkg/models/operations/getinfrastructurepublishers.go +++ b/internal/sdk/pkg/models/operations/getinfrastructurepublishers.go @@ -3,7 +3,7 @@ package operations import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" "net/http" ) diff --git a/internal/sdk/pkg/models/operations/getinfrastructurepublishersalertsconfiguration.go b/internal/sdk/pkg/models/operations/getinfrastructurepublishersalertsconfiguration.go index 5a9a3eb..31ffd38 100644 --- a/internal/sdk/pkg/models/operations/getinfrastructurepublishersalertsconfiguration.go +++ b/internal/sdk/pkg/models/operations/getinfrastructurepublishersalertsconfiguration.go @@ -3,7 +3,7 @@ package operations import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" "net/http" ) diff --git a/internal/sdk/pkg/models/operations/getinfrastructurepublisherspublisherid.go b/internal/sdk/pkg/models/operations/getinfrastructurepublisherspublisherid.go index 68d7177..590848a 100644 --- a/internal/sdk/pkg/models/operations/getinfrastructurepublisherspublisherid.go +++ b/internal/sdk/pkg/models/operations/getinfrastructurepublisherspublisherid.go @@ -3,7 +3,7 @@ package operations import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" "net/http" ) diff --git a/internal/sdk/pkg/models/operations/getinfrastructurepublisherspublisheridapps.go b/internal/sdk/pkg/models/operations/getinfrastructurepublisherspublisheridapps.go index 8c00f8d..12c04d0 100644 --- a/internal/sdk/pkg/models/operations/getinfrastructurepublisherspublisheridapps.go +++ b/internal/sdk/pkg/models/operations/getinfrastructurepublisherspublisheridapps.go @@ -3,7 +3,7 @@ package operations import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" "net/http" ) diff --git a/internal/sdk/pkg/models/operations/getinfrastructurepublishersreleases.go b/internal/sdk/pkg/models/operations/getinfrastructurepublishersreleases.go index 5caf1e9..3bf840f 100644 --- a/internal/sdk/pkg/models/operations/getinfrastructurepublishersreleases.go +++ b/internal/sdk/pkg/models/operations/getinfrastructurepublishersreleases.go @@ -3,7 +3,7 @@ package operations import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" "net/http" ) diff --git a/internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofiles.go b/internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofiles.go deleted file mode 100644 index d19c368..0000000 --- a/internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofiles.go +++ /dev/null @@ -1,68 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type GetInfrastructurePublisherupgradeprofilesRequest struct { - // Return values only from specified fields - Fields *string `queryParam:"style=form,explode=true,name=fields"` -} - -func (o *GetInfrastructurePublisherupgradeprofilesRequest) GetFields() *string { - if o == nil { - return nil - } - return o.Fields -} - -type GetInfrastructurePublisherupgradeprofilesResponse struct { - // Invalid request - FourHundred *shared.FourHundred - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - PublisherUpgradeProfileGetResponse *shared.PublisherUpgradeProfileGetResponse -} - -func (o *GetInfrastructurePublisherupgradeprofilesResponse) GetFourHundred() *shared.FourHundred { - if o == nil { - return nil - } - return o.FourHundred -} - -func (o *GetInfrastructurePublisherupgradeprofilesResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *GetInfrastructurePublisherupgradeprofilesResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *GetInfrastructurePublisherupgradeprofilesResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *GetInfrastructurePublisherupgradeprofilesResponse) GetPublisherUpgradeProfileGetResponse() *shared.PublisherUpgradeProfileGetResponse { - if o == nil { - return nil - } - return o.PublisherUpgradeProfileGetResponse -} diff --git a/internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofilesupgradeprofileid.go b/internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofilesupgradeprofileid.go deleted file mode 100644 index 3c31721..0000000 --- a/internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofilesupgradeprofileid.go +++ /dev/null @@ -1,68 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest struct { - // publisher upgrade profile id - UpgradeProfileID int `pathParam:"style=simple,explode=false,name=upgrade_profile_id"` -} - -func (o *GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) GetUpgradeProfileID() int { - if o == nil { - return 0 - } - return o.UpgradeProfileID -} - -type GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse struct { - // Invalid request - FourHundred *shared.FourHundred - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - PublisherUpgradeProfileResponse *shared.PublisherUpgradeProfileResponse -} - -func (o *GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetFourHundred() *shared.FourHundred { - if o == nil { - return nil - } - return o.FourHundred -} - -func (o *GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetPublisherUpgradeProfileResponse() *shared.PublisherUpgradeProfileResponse { - if o == nil { - return nil - } - return o.PublisherUpgradeProfileResponse -} diff --git a/internal/sdk/pkg/models/operations/getpolicynpapolicygroups.go b/internal/sdk/pkg/models/operations/getpolicynpapolicygroups.go deleted file mode 100644 index a2971b4..0000000 --- a/internal/sdk/pkg/models/operations/getpolicynpapolicygroups.go +++ /dev/null @@ -1,113 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type GetPolicyNpaPolicygroupsRequest struct { - // Return values only from specified fields - Fields *string `queryParam:"style=form,explode=true,name=fields"` - // Query string based on query operaters - Filter *string `queryParam:"style=form,explode=true,name=filter"` - // Max number of policy groups to retrieve. Default will be all policy groups. - Limit *int64 `queryParam:"style=form,explode=true,name=limit"` - // The offset of the first policy group in the list to retrieve. - Offset *int64 `queryParam:"style=form,explode=true,name=offset"` - // Sort retrieved policy group by specified field. Default is policy group id - Sortby *string `queryParam:"style=form,explode=true,name=sortby"` - // Sort in either asc or desc order. The default is asc order - Sortorder *string `queryParam:"style=form,explode=true,name=sortorder"` -} - -func (o *GetPolicyNpaPolicygroupsRequest) GetFields() *string { - if o == nil { - return nil - } - return o.Fields -} - -func (o *GetPolicyNpaPolicygroupsRequest) GetFilter() *string { - if o == nil { - return nil - } - return o.Filter -} - -func (o *GetPolicyNpaPolicygroupsRequest) GetLimit() *int64 { - if o == nil { - return nil - } - return o.Limit -} - -func (o *GetPolicyNpaPolicygroupsRequest) GetOffset() *int64 { - if o == nil { - return nil - } - return o.Offset -} - -func (o *GetPolicyNpaPolicygroupsRequest) GetSortby() *string { - if o == nil { - return nil - } - return o.Sortby -} - -func (o *GetPolicyNpaPolicygroupsRequest) GetSortorder() *string { - if o == nil { - return nil - } - return o.Sortorder -} - -type GetPolicyNpaPolicygroupsResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - NpaPolicygroupResponse *shared.NpaPolicygroupResponse - // Invalid request - NpaPolicygroupResponse400 *shared.NpaPolicygroupResponse400 -} - -func (o *GetPolicyNpaPolicygroupsResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *GetPolicyNpaPolicygroupsResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *GetPolicyNpaPolicygroupsResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *GetPolicyNpaPolicygroupsResponse) GetNpaPolicygroupResponse() *shared.NpaPolicygroupResponse { - if o == nil { - return nil - } - return o.NpaPolicygroupResponse -} - -func (o *GetPolicyNpaPolicygroupsResponse) GetNpaPolicygroupResponse400() *shared.NpaPolicygroupResponse400 { - if o == nil { - return nil - } - return o.NpaPolicygroupResponse400 -} diff --git a/internal/sdk/pkg/models/operations/getpolicynpapolicygroupsid.go b/internal/sdk/pkg/models/operations/getpolicynpapolicygroupsid.go deleted file mode 100644 index 842a23e..0000000 --- a/internal/sdk/pkg/models/operations/getpolicynpapolicygroupsid.go +++ /dev/null @@ -1,80 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type GetPolicyNpaPolicygroupsIDRequest struct { - // npa policy group id - ID string `pathParam:"style=simple,explode=false,name=id"` -} - -func (o *GetPolicyNpaPolicygroupsIDRequest) GetID() string { - if o == nil { - return "" - } - return o.ID -} - -// GetPolicyNpaPolicygroupsIDResponseBody - successful operation -type GetPolicyNpaPolicygroupsIDResponseBody struct { - Data *shared.NpaPolicygroupResponseItem `json:"data,omitempty"` -} - -func (o *GetPolicyNpaPolicygroupsIDResponseBody) GetData() *shared.NpaPolicygroupResponseItem { - if o == nil { - return nil - } - return o.Data -} - -type GetPolicyNpaPolicygroupsIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // Invalid request - NpaPolicygroupResponse400 *shared.NpaPolicygroupResponse400 - // successful operation - Object *GetPolicyNpaPolicygroupsIDResponseBody -} - -func (o *GetPolicyNpaPolicygroupsIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *GetPolicyNpaPolicygroupsIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *GetPolicyNpaPolicygroupsIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *GetPolicyNpaPolicygroupsIDResponse) GetNpaPolicygroupResponse400() *shared.NpaPolicygroupResponse400 { - if o == nil { - return nil - } - return o.NpaPolicygroupResponse400 -} - -func (o *GetPolicyNpaPolicygroupsIDResponse) GetObject() *GetPolicyNpaPolicygroupsIDResponseBody { - if o == nil { - return nil - } - return o.Object -} diff --git a/internal/sdk/pkg/models/operations/getpolicynparules.go b/internal/sdk/pkg/models/operations/getpolicynparules.go index 42643ce..9867904 100644 --- a/internal/sdk/pkg/models/operations/getpolicynparules.go +++ b/internal/sdk/pkg/models/operations/getpolicynparules.go @@ -3,7 +3,7 @@ package operations import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" "net/http" ) diff --git a/internal/sdk/pkg/models/operations/getpolicynparulesid.go b/internal/sdk/pkg/models/operations/getpolicynparulesid.go index 6264ca7..944f46f 100644 --- a/internal/sdk/pkg/models/operations/getpolicynparulesid.go +++ b/internal/sdk/pkg/models/operations/getpolicynparulesid.go @@ -3,29 +3,29 @@ package operations import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" "net/http" ) type GetPolicyNpaRulesIDRequest struct { - // Return values only from specified fields - Fields *string `queryParam:"style=form,explode=true,name=fields"` // npa policy id ID string `pathParam:"style=simple,explode=false,name=id"` + // Return values only from specified fields + Fields *string `queryParam:"style=form,explode=true,name=fields"` } -func (o *GetPolicyNpaRulesIDRequest) GetFields() *string { +func (o *GetPolicyNpaRulesIDRequest) GetID() string { if o == nil { - return nil + return "" } - return o.Fields + return o.ID } -func (o *GetPolicyNpaRulesIDRequest) GetID() string { +func (o *GetPolicyNpaRulesIDRequest) GetFields() *string { if o == nil { - return "" + return nil } - return o.ID + return o.Fields } // GetPolicyNpaRulesIDResponseBody - successful operation @@ -47,10 +47,10 @@ type GetPolicyNpaRulesIDResponse struct { StatusCode int // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response - // Invalid request - NpaPolicyResponse400 *shared.NpaPolicyResponse400 // successful operation Object *GetPolicyNpaRulesIDResponseBody + // Invalid request + NpaPolicyResponse400 *shared.NpaPolicyResponse400 } func (o *GetPolicyNpaRulesIDResponse) GetContentType() string { @@ -74,16 +74,16 @@ func (o *GetPolicyNpaRulesIDResponse) GetRawResponse() *http.Response { return o.RawResponse } -func (o *GetPolicyNpaRulesIDResponse) GetNpaPolicyResponse400() *shared.NpaPolicyResponse400 { +func (o *GetPolicyNpaRulesIDResponse) GetObject() *GetPolicyNpaRulesIDResponseBody { if o == nil { return nil } - return o.NpaPolicyResponse400 + return o.Object } -func (o *GetPolicyNpaRulesIDResponse) GetObject() *GetPolicyNpaRulesIDResponseBody { +func (o *GetPolicyNpaRulesIDResponse) GetNpaPolicyResponse400() *shared.NpaPolicyResponse400 { if o == nil { return nil } - return o.Object + return o.NpaPolicyResponse400 } diff --git a/internal/sdk/pkg/models/operations/getsteeringappsprivate.go b/internal/sdk/pkg/models/operations/getsteeringappsprivate.go deleted file mode 100644 index 92c9c20..0000000 --- a/internal/sdk/pkg/models/operations/getsteeringappsprivate.go +++ /dev/null @@ -1,68 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type GetSteeringAppsPrivateRequest struct { - // Return values only from specified fields - Fields *string `queryParam:"style=form,explode=true,name=fields"` -} - -func (o *GetSteeringAppsPrivateRequest) GetFields() *string { - if o == nil { - return nil - } - return o.Fields -} - -type GetSteeringAppsPrivateResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - PrivateAppsGetResponse *shared.PrivateAppsGetResponse - // Invalid request - PrivateAppsResponse400 *shared.PrivateAppsResponse400 -} - -func (o *GetSteeringAppsPrivateResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *GetSteeringAppsPrivateResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *GetSteeringAppsPrivateResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *GetSteeringAppsPrivateResponse) GetPrivateAppsGetResponse() *shared.PrivateAppsGetResponse { - if o == nil { - return nil - } - return o.PrivateAppsGetResponse -} - -func (o *GetSteeringAppsPrivateResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { - if o == nil { - return nil - } - return o.PrivateAppsResponse400 -} diff --git a/internal/sdk/pkg/models/operations/getsteeringappsprivateprivateappid.go b/internal/sdk/pkg/models/operations/getsteeringappsprivateprivateappid.go deleted file mode 100644 index b9749f5..0000000 --- a/internal/sdk/pkg/models/operations/getsteeringappsprivateprivateappid.go +++ /dev/null @@ -1,68 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type GetSteeringAppsPrivatePrivateAppIDRequest struct { - // private apps id - PrivateAppID int `pathParam:"style=simple,explode=false,name=private_app_id"` -} - -func (o *GetSteeringAppsPrivatePrivateAppIDRequest) GetPrivateAppID() int { - if o == nil { - return 0 - } - return o.PrivateAppID -} - -type GetSteeringAppsPrivatePrivateAppIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - PrivateAppsResponse *shared.PrivateAppsResponse - // Invalid request - PrivateAppsResponse400 *shared.PrivateAppsResponse400 -} - -func (o *GetSteeringAppsPrivatePrivateAppIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *GetSteeringAppsPrivatePrivateAppIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *GetSteeringAppsPrivatePrivateAppIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *GetSteeringAppsPrivatePrivateAppIDResponse) GetPrivateAppsResponse() *shared.PrivateAppsResponse { - if o == nil { - return nil - } - return o.PrivateAppsResponse -} - -func (o *GetSteeringAppsPrivatePrivateAppIDResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { - if o == nil { - return nil - } - return o.PrivateAppsResponse400 -} diff --git a/internal/sdk/pkg/models/operations/getsteeringappsprivatetags.go b/internal/sdk/pkg/models/operations/getsteeringappsprivatetags.go deleted file mode 100644 index 06e6102..0000000 --- a/internal/sdk/pkg/models/operations/getsteeringappsprivatetags.go +++ /dev/null @@ -1,56 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type GetSteeringAppsPrivateTagsResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - TagResponse *shared.TagResponse - // Invalid request - TagResponse400 *shared.TagResponse400 -} - -func (o *GetSteeringAppsPrivateTagsResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *GetSteeringAppsPrivateTagsResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *GetSteeringAppsPrivateTagsResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *GetSteeringAppsPrivateTagsResponse) GetTagResponse() *shared.TagResponse { - if o == nil { - return nil - } - return o.TagResponse -} - -func (o *GetSteeringAppsPrivateTagsResponse) GetTagResponse400() *shared.TagResponse400 { - if o == nil { - return nil - } - return o.TagResponse400 -} diff --git a/internal/sdk/pkg/models/operations/getsteeringappsprivatetagstagid.go b/internal/sdk/pkg/models/operations/getsteeringappsprivatetagstagid.go deleted file mode 100644 index 9e4c826..0000000 --- a/internal/sdk/pkg/models/operations/getsteeringappsprivatetagstagid.go +++ /dev/null @@ -1,68 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type GetSteeringAppsPrivateTagsTagIDRequest struct { - // tag id - TagID int `pathParam:"style=simple,explode=false,name=tag_id"` -} - -func (o *GetSteeringAppsPrivateTagsTagIDRequest) GetTagID() int { - if o == nil { - return 0 - } - return o.TagID -} - -type GetSteeringAppsPrivateTagsTagIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - TagResponse *shared.TagResponse - // Invalid request - TagResponse400 *shared.TagResponse400 -} - -func (o *GetSteeringAppsPrivateTagsTagIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *GetSteeringAppsPrivateTagsTagIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *GetSteeringAppsPrivateTagsTagIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *GetSteeringAppsPrivateTagsTagIDResponse) GetTagResponse() *shared.TagResponse { - if o == nil { - return nil - } - return o.TagResponse -} - -func (o *GetSteeringAppsPrivateTagsTagIDResponse) GetTagResponse400() *shared.TagResponse400 { - if o == nil { - return nil - } - return o.TagResponse400 -} diff --git a/internal/sdk/pkg/models/operations/getsteeringgrepops.go b/internal/sdk/pkg/models/operations/getsteeringgrepops.go deleted file mode 100644 index 78fa8a4..0000000 --- a/internal/sdk/pkg/models/operations/getsteeringgrepops.go +++ /dev/null @@ -1,188 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/utils" - "net/http" -) - -type GetSteeringGrePopsRequest struct { - // POP country, requires ISO-3166 country code and return POPs closest to value - Country *string `queryParam:"style=form,explode=true,name=country"` - // Provide comma separated list of fields to be displayed - Fields *string `queryParam:"style=form,explode=true,name=fields"` - // POP ipaddress, return POPs closest to value - IP *string `queryParam:"style=form,explode=true,name=ip"` - // POP latitude, lat requires long in combination and return POPs closest to value - Lat *string `queryParam:"style=form,explode=true,name=lat"` - // Max number of POPs to retrieve - Limit *int64 `default:"100" queryParam:"style=form,explode=true,name=limit"` - // POP longitude, long requires lat in combination and return POPs closest to value - Long *string `queryParam:"style=form,explode=true,name=long"` - // POP name - Name *string `queryParam:"style=form,explode=true,name=name"` - // Offset used to shift the output window - Offset *int64 `default:"0" queryParam:"style=form,explode=true,name=offset"` - // POP region, requires ISO-3166 region code and return POPs closest to value - Region *string `queryParam:"style=form,explode=true,name=region"` -} - -func (g GetSteeringGrePopsRequest) MarshalJSON() ([]byte, error) { - return utils.MarshalJSON(g, "", false) -} - -func (g *GetSteeringGrePopsRequest) UnmarshalJSON(data []byte) error { - if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { - return err - } - return nil -} - -func (o *GetSteeringGrePopsRequest) GetCountry() *string { - if o == nil { - return nil - } - return o.Country -} - -func (o *GetSteeringGrePopsRequest) GetFields() *string { - if o == nil { - return nil - } - return o.Fields -} - -func (o *GetSteeringGrePopsRequest) GetIP() *string { - if o == nil { - return nil - } - return o.IP -} - -func (o *GetSteeringGrePopsRequest) GetLat() *string { - if o == nil { - return nil - } - return o.Lat -} - -func (o *GetSteeringGrePopsRequest) GetLimit() *int64 { - if o == nil { - return nil - } - return o.Limit -} - -func (o *GetSteeringGrePopsRequest) GetLong() *string { - if o == nil { - return nil - } - return o.Long -} - -func (o *GetSteeringGrePopsRequest) GetName() *string { - if o == nil { - return nil - } - return o.Name -} - -func (o *GetSteeringGrePopsRequest) GetOffset() *int64 { - if o == nil { - return nil - } - return o.Offset -} - -func (o *GetSteeringGrePopsRequest) GetRegion() *string { - if o == nil { - return nil - } - return o.Region -} - -type GetSteeringGrePopsResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // Successful operation - GrePopResponse200 *shared.GrePopResponse200 - // Invalid request - GreResponse400 *shared.GreResponse400 - // Access forbidden - GreResponse403 *shared.GreResponse403 - // Method not allowed - GreResponse405 *shared.GreResponse405 - // Too many requests - GreResponse429 *shared.GreResponse429 - // Internal server error - GreResponse500 *shared.GreResponse500 -} - -func (o *GetSteeringGrePopsResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *GetSteeringGrePopsResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *GetSteeringGrePopsResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *GetSteeringGrePopsResponse) GetGrePopResponse200() *shared.GrePopResponse200 { - if o == nil { - return nil - } - return o.GrePopResponse200 -} - -func (o *GetSteeringGrePopsResponse) GetGreResponse400() *shared.GreResponse400 { - if o == nil { - return nil - } - return o.GreResponse400 -} - -func (o *GetSteeringGrePopsResponse) GetGreResponse403() *shared.GreResponse403 { - if o == nil { - return nil - } - return o.GreResponse403 -} - -func (o *GetSteeringGrePopsResponse) GetGreResponse405() *shared.GreResponse405 { - if o == nil { - return nil - } - return o.GreResponse405 -} - -func (o *GetSteeringGrePopsResponse) GetGreResponse429() *shared.GreResponse429 { - if o == nil { - return nil - } - return o.GreResponse429 -} - -func (o *GetSteeringGrePopsResponse) GetGreResponse500() *shared.GreResponse500 { - if o == nil { - return nil - } - return o.GreResponse500 -} diff --git a/internal/sdk/pkg/models/operations/getsteeringgrepopsid.go b/internal/sdk/pkg/models/operations/getsteeringgrepopsid.go deleted file mode 100644 index 0a141ec..0000000 --- a/internal/sdk/pkg/models/operations/getsteeringgrepopsid.go +++ /dev/null @@ -1,122 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type GetSteeringGrePopsIDRequest struct { - // Provide comma separated list of fields to be displayed - Fields *string `queryParam:"style=form,explode=true,name=fields"` - // POP id - ID string `pathParam:"style=simple,explode=false,name=id"` -} - -func (o *GetSteeringGrePopsIDRequest) GetFields() *string { - if o == nil { - return nil - } - return o.Fields -} - -func (o *GetSteeringGrePopsIDRequest) GetID() string { - if o == nil { - return "" - } - return o.ID -} - -type GetSteeringGrePopsIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // Successful operation - GrePopResponse200 *shared.GrePopResponse200 - // Invalid request - GreResponse400 *shared.GreResponse400 - // Access forbidden - GreResponse403 *shared.GreResponse403 - // Not found - GreResponse404 *shared.GreResponse404 - // Method not allowed - GreResponse405 *shared.GreResponse405 - // Too many requests - GreResponse429 *shared.GreResponse429 - // Internal server error - GreResponse500 *shared.GreResponse500 -} - -func (o *GetSteeringGrePopsIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *GetSteeringGrePopsIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *GetSteeringGrePopsIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *GetSteeringGrePopsIDResponse) GetGrePopResponse200() *shared.GrePopResponse200 { - if o == nil { - return nil - } - return o.GrePopResponse200 -} - -func (o *GetSteeringGrePopsIDResponse) GetGreResponse400() *shared.GreResponse400 { - if o == nil { - return nil - } - return o.GreResponse400 -} - -func (o *GetSteeringGrePopsIDResponse) GetGreResponse403() *shared.GreResponse403 { - if o == nil { - return nil - } - return o.GreResponse403 -} - -func (o *GetSteeringGrePopsIDResponse) GetGreResponse404() *shared.GreResponse404 { - if o == nil { - return nil - } - return o.GreResponse404 -} - -func (o *GetSteeringGrePopsIDResponse) GetGreResponse405() *shared.GreResponse405 { - if o == nil { - return nil - } - return o.GreResponse405 -} - -func (o *GetSteeringGrePopsIDResponse) GetGreResponse429() *shared.GreResponse429 { - if o == nil { - return nil - } - return o.GreResponse429 -} - -func (o *GetSteeringGrePopsIDResponse) GetGreResponse500() *shared.GreResponse500 { - if o == nil { - return nil - } - return o.GreResponse500 -} diff --git a/internal/sdk/pkg/models/operations/getsteeringgretunnels.go b/internal/sdk/pkg/models/operations/getsteeringgretunnels.go deleted file mode 100644 index ed0ba67..0000000 --- a/internal/sdk/pkg/models/operations/getsteeringgretunnels.go +++ /dev/null @@ -1,197 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/utils" - "net/http" -) - -type GetSteeringGreTunnelsRequest struct { - // Provide comma separated list of fields to be displayed - Fields *string `queryParam:"style=form,explode=true,name=fields"` - // Max number of records to retrieve - Limit *int64 `default:"100" queryParam:"style=form,explode=true,name=limit"` - // Offset used to shift the window - Offset *int64 `default:"0" queryParam:"style=form,explode=true,name=offset"` - // GRE tunnel POP name - Pop *string `queryParam:"style=form,explode=true,name=pop"` - // GRE tunnel site - Site *string `queryParam:"style=form,explode=true,name=site"` - // GRE tunnel sortby column - Sortby *string `queryParam:"style=form,explode=true,name=sortby"` - // GRE tunnel sortorder asc or desc. Default is asc - Sortorder *string `queryParam:"style=form,explode=true,name=sortorder"` - // GRE tunnel sourcetype - Sourcetype *string `queryParam:"style=form,explode=true,name=sourcetype"` - // GRE tunnel source ip identity - Srcipidentity *string `queryParam:"style=form,explode=true,name=srcipidentity"` - // GRE tunnel status - Status *string `queryParam:"style=form,explode=true,name=status"` -} - -func (g GetSteeringGreTunnelsRequest) MarshalJSON() ([]byte, error) { - return utils.MarshalJSON(g, "", false) -} - -func (g *GetSteeringGreTunnelsRequest) UnmarshalJSON(data []byte) error { - if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { - return err - } - return nil -} - -func (o *GetSteeringGreTunnelsRequest) GetFields() *string { - if o == nil { - return nil - } - return o.Fields -} - -func (o *GetSteeringGreTunnelsRequest) GetLimit() *int64 { - if o == nil { - return nil - } - return o.Limit -} - -func (o *GetSteeringGreTunnelsRequest) GetOffset() *int64 { - if o == nil { - return nil - } - return o.Offset -} - -func (o *GetSteeringGreTunnelsRequest) GetPop() *string { - if o == nil { - return nil - } - return o.Pop -} - -func (o *GetSteeringGreTunnelsRequest) GetSite() *string { - if o == nil { - return nil - } - return o.Site -} - -func (o *GetSteeringGreTunnelsRequest) GetSortby() *string { - if o == nil { - return nil - } - return o.Sortby -} - -func (o *GetSteeringGreTunnelsRequest) GetSortorder() *string { - if o == nil { - return nil - } - return o.Sortorder -} - -func (o *GetSteeringGreTunnelsRequest) GetSourcetype() *string { - if o == nil { - return nil - } - return o.Sourcetype -} - -func (o *GetSteeringGreTunnelsRequest) GetSrcipidentity() *string { - if o == nil { - return nil - } - return o.Srcipidentity -} - -func (o *GetSteeringGreTunnelsRequest) GetStatus() *string { - if o == nil { - return nil - } - return o.Status -} - -type GetSteeringGreTunnelsResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // Invalid request - GreResponse400 *shared.GreResponse400 - // Access forbidden - GreResponse403 *shared.GreResponse403 - // Method not allowed - GreResponse405 *shared.GreResponse405 - // Too many requests - GreResponse429 *shared.GreResponse429 - // Internal server error - GreResponse500 *shared.GreResponse500 - // Successful operation - GreTunnelResponse200 *shared.GreTunnelResponse200 -} - -func (o *GetSteeringGreTunnelsResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *GetSteeringGreTunnelsResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *GetSteeringGreTunnelsResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *GetSteeringGreTunnelsResponse) GetGreResponse400() *shared.GreResponse400 { - if o == nil { - return nil - } - return o.GreResponse400 -} - -func (o *GetSteeringGreTunnelsResponse) GetGreResponse403() *shared.GreResponse403 { - if o == nil { - return nil - } - return o.GreResponse403 -} - -func (o *GetSteeringGreTunnelsResponse) GetGreResponse405() *shared.GreResponse405 { - if o == nil { - return nil - } - return o.GreResponse405 -} - -func (o *GetSteeringGreTunnelsResponse) GetGreResponse429() *shared.GreResponse429 { - if o == nil { - return nil - } - return o.GreResponse429 -} - -func (o *GetSteeringGreTunnelsResponse) GetGreResponse500() *shared.GreResponse500 { - if o == nil { - return nil - } - return o.GreResponse500 -} - -func (o *GetSteeringGreTunnelsResponse) GetGreTunnelResponse200() *shared.GreTunnelResponse200 { - if o == nil { - return nil - } - return o.GreTunnelResponse200 -} diff --git a/internal/sdk/pkg/models/operations/getsteeringgretunnelsid.go b/internal/sdk/pkg/models/operations/getsteeringgretunnelsid.go deleted file mode 100644 index 7617176..0000000 --- a/internal/sdk/pkg/models/operations/getsteeringgretunnelsid.go +++ /dev/null @@ -1,122 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type GetSteeringGreTunnelsIDRequest struct { - // Provide comma separated list of fields to be displayed - Fields *string `queryParam:"style=form,explode=true,name=fields"` - // GRE tunnel id - ID int64 `pathParam:"style=simple,explode=false,name=id"` -} - -func (o *GetSteeringGreTunnelsIDRequest) GetFields() *string { - if o == nil { - return nil - } - return o.Fields -} - -func (o *GetSteeringGreTunnelsIDRequest) GetID() int64 { - if o == nil { - return 0 - } - return o.ID -} - -type GetSteeringGreTunnelsIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // Invalid request - GreResponse400 *shared.GreResponse400 - // Access forbidden - GreResponse403 *shared.GreResponse403 - // Not found - GreResponse404 *shared.GreResponse404 - // Method not allowed - GreResponse405 *shared.GreResponse405 - // Too many requests - GreResponse429 *shared.GreResponse429 - // Internal server error - GreResponse500 *shared.GreResponse500 - // Successful operation - GreTunnelResponse200 *shared.GreTunnelResponse200 -} - -func (o *GetSteeringGreTunnelsIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *GetSteeringGreTunnelsIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *GetSteeringGreTunnelsIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *GetSteeringGreTunnelsIDResponse) GetGreResponse400() *shared.GreResponse400 { - if o == nil { - return nil - } - return o.GreResponse400 -} - -func (o *GetSteeringGreTunnelsIDResponse) GetGreResponse403() *shared.GreResponse403 { - if o == nil { - return nil - } - return o.GreResponse403 -} - -func (o *GetSteeringGreTunnelsIDResponse) GetGreResponse404() *shared.GreResponse404 { - if o == nil { - return nil - } - return o.GreResponse404 -} - -func (o *GetSteeringGreTunnelsIDResponse) GetGreResponse405() *shared.GreResponse405 { - if o == nil { - return nil - } - return o.GreResponse405 -} - -func (o *GetSteeringGreTunnelsIDResponse) GetGreResponse429() *shared.GreResponse429 { - if o == nil { - return nil - } - return o.GreResponse429 -} - -func (o *GetSteeringGreTunnelsIDResponse) GetGreResponse500() *shared.GreResponse500 { - if o == nil { - return nil - } - return o.GreResponse500 -} - -func (o *GetSteeringGreTunnelsIDResponse) GetGreTunnelResponse200() *shared.GreTunnelResponse200 { - if o == nil { - return nil - } - return o.GreTunnelResponse200 -} diff --git a/internal/sdk/pkg/models/operations/getsteeringipsecpops.go b/internal/sdk/pkg/models/operations/getsteeringipsecpops.go deleted file mode 100644 index b66dfc5..0000000 --- a/internal/sdk/pkg/models/operations/getsteeringipsecpops.go +++ /dev/null @@ -1,197 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/utils" - "net/http" -) - -type GetSteeringIpsecPopsRequest struct { - // POP capabilities, return POPs capabilities - Capabilities *string `queryParam:"style=form,explode=true,name=capabilities"` - // POP country, requires ISO-3166 country code and return POPs closest to value - Country *string `queryParam:"style=form,explode=true,name=country"` - // Provide comma separated list of fields to be displayed - Fields *string `queryParam:"style=form,explode=true,name=fields"` - // POP ipaddress, return POPs closest to value - IP *string `queryParam:"style=form,explode=true,name=ip"` - // POP latitude, lat requires long in combination and return POPs closest to value - Lat *string `queryParam:"style=form,explode=true,name=lat"` - // Max number of POPs to retrieve - Limit *int64 `default:"100" queryParam:"style=form,explode=true,name=limit"` - // POP longitude, long requires lat in combination and return POPs closest to value - Long *string `queryParam:"style=form,explode=true,name=long"` - // POP name - Name *string `queryParam:"style=form,explode=true,name=name"` - // Offset used to shift the output window - Offset *int64 `default:"0" queryParam:"style=form,explode=true,name=offset"` - // POP region, requires ISO-3166 region code and return POPs closest to value - Region *string `queryParam:"style=form,explode=true,name=region"` -} - -func (g GetSteeringIpsecPopsRequest) MarshalJSON() ([]byte, error) { - return utils.MarshalJSON(g, "", false) -} - -func (g *GetSteeringIpsecPopsRequest) UnmarshalJSON(data []byte) error { - if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { - return err - } - return nil -} - -func (o *GetSteeringIpsecPopsRequest) GetCapabilities() *string { - if o == nil { - return nil - } - return o.Capabilities -} - -func (o *GetSteeringIpsecPopsRequest) GetCountry() *string { - if o == nil { - return nil - } - return o.Country -} - -func (o *GetSteeringIpsecPopsRequest) GetFields() *string { - if o == nil { - return nil - } - return o.Fields -} - -func (o *GetSteeringIpsecPopsRequest) GetIP() *string { - if o == nil { - return nil - } - return o.IP -} - -func (o *GetSteeringIpsecPopsRequest) GetLat() *string { - if o == nil { - return nil - } - return o.Lat -} - -func (o *GetSteeringIpsecPopsRequest) GetLimit() *int64 { - if o == nil { - return nil - } - return o.Limit -} - -func (o *GetSteeringIpsecPopsRequest) GetLong() *string { - if o == nil { - return nil - } - return o.Long -} - -func (o *GetSteeringIpsecPopsRequest) GetName() *string { - if o == nil { - return nil - } - return o.Name -} - -func (o *GetSteeringIpsecPopsRequest) GetOffset() *int64 { - if o == nil { - return nil - } - return o.Offset -} - -func (o *GetSteeringIpsecPopsRequest) GetRegion() *string { - if o == nil { - return nil - } - return o.Region -} - -type GetSteeringIpsecPopsResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // Successful operation - IpsecPopResponse200 *shared.IpsecPopResponse200 - // Invalid request - IpsecResponse400 *shared.IpsecResponse400 - // Access forbidden - IpsecResponse403 *shared.IpsecResponse403 - // Method not allowed - IpsecResponse405 *shared.IpsecResponse405 - // Too many requests - IpsecResponse429 *shared.IpsecResponse429 - // Internal server error - IpsecResponse500 *shared.IpsecResponse500 -} - -func (o *GetSteeringIpsecPopsResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *GetSteeringIpsecPopsResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *GetSteeringIpsecPopsResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *GetSteeringIpsecPopsResponse) GetIpsecPopResponse200() *shared.IpsecPopResponse200 { - if o == nil { - return nil - } - return o.IpsecPopResponse200 -} - -func (o *GetSteeringIpsecPopsResponse) GetIpsecResponse400() *shared.IpsecResponse400 { - if o == nil { - return nil - } - return o.IpsecResponse400 -} - -func (o *GetSteeringIpsecPopsResponse) GetIpsecResponse403() *shared.IpsecResponse403 { - if o == nil { - return nil - } - return o.IpsecResponse403 -} - -func (o *GetSteeringIpsecPopsResponse) GetIpsecResponse405() *shared.IpsecResponse405 { - if o == nil { - return nil - } - return o.IpsecResponse405 -} - -func (o *GetSteeringIpsecPopsResponse) GetIpsecResponse429() *shared.IpsecResponse429 { - if o == nil { - return nil - } - return o.IpsecResponse429 -} - -func (o *GetSteeringIpsecPopsResponse) GetIpsecResponse500() *shared.IpsecResponse500 { - if o == nil { - return nil - } - return o.IpsecResponse500 -} diff --git a/internal/sdk/pkg/models/operations/getsteeringipsecpopsid.go b/internal/sdk/pkg/models/operations/getsteeringipsecpopsid.go deleted file mode 100644 index 86652c9..0000000 --- a/internal/sdk/pkg/models/operations/getsteeringipsecpopsid.go +++ /dev/null @@ -1,122 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type GetSteeringIpsecPopsIDRequest struct { - // Provide comma separated list of fields to be displayed - Fields *string `queryParam:"style=form,explode=true,name=fields"` - // POP id - ID string `pathParam:"style=simple,explode=false,name=id"` -} - -func (o *GetSteeringIpsecPopsIDRequest) GetFields() *string { - if o == nil { - return nil - } - return o.Fields -} - -func (o *GetSteeringIpsecPopsIDRequest) GetID() string { - if o == nil { - return "" - } - return o.ID -} - -type GetSteeringIpsecPopsIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // Successful operation - IpsecPopResponse200 *shared.IpsecPopResponse200 - // Invalid request - IpsecResponse400 *shared.IpsecResponse400 - // Access forbidden - IpsecResponse403 *shared.IpsecResponse403 - // Not found - IpsecResponse404 *shared.IpsecResponse404 - // Method not allowed - IpsecResponse405 *shared.IpsecResponse405 - // Too many requests - IpsecResponse429 *shared.IpsecResponse429 - // Internal server error - IpsecResponse500 *shared.IpsecResponse500 -} - -func (o *GetSteeringIpsecPopsIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *GetSteeringIpsecPopsIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *GetSteeringIpsecPopsIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *GetSteeringIpsecPopsIDResponse) GetIpsecPopResponse200() *shared.IpsecPopResponse200 { - if o == nil { - return nil - } - return o.IpsecPopResponse200 -} - -func (o *GetSteeringIpsecPopsIDResponse) GetIpsecResponse400() *shared.IpsecResponse400 { - if o == nil { - return nil - } - return o.IpsecResponse400 -} - -func (o *GetSteeringIpsecPopsIDResponse) GetIpsecResponse403() *shared.IpsecResponse403 { - if o == nil { - return nil - } - return o.IpsecResponse403 -} - -func (o *GetSteeringIpsecPopsIDResponse) GetIpsecResponse404() *shared.IpsecResponse404 { - if o == nil { - return nil - } - return o.IpsecResponse404 -} - -func (o *GetSteeringIpsecPopsIDResponse) GetIpsecResponse405() *shared.IpsecResponse405 { - if o == nil { - return nil - } - return o.IpsecResponse405 -} - -func (o *GetSteeringIpsecPopsIDResponse) GetIpsecResponse429() *shared.IpsecResponse429 { - if o == nil { - return nil - } - return o.IpsecResponse429 -} - -func (o *GetSteeringIpsecPopsIDResponse) GetIpsecResponse500() *shared.IpsecResponse500 { - if o == nil { - return nil - } - return o.IpsecResponse500 -} diff --git a/internal/sdk/pkg/models/operations/getsteeringipsectunnels.go b/internal/sdk/pkg/models/operations/getsteeringipsectunnels.go deleted file mode 100644 index a0d4ba9..0000000 --- a/internal/sdk/pkg/models/operations/getsteeringipsectunnels.go +++ /dev/null @@ -1,206 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/utils" - "net/http" -) - -type GetSteeringIpsecTunnelsRequest struct { - // Provide comma separated list of fields to be displayed - Fields *string `queryParam:"style=form,explode=true,name=fields"` - // Max number of records to retrieve - Limit *int64 `default:"100" queryParam:"style=form,explode=true,name=limit"` - // Offset used to shift the window - Offset *int64 `default:"0" queryParam:"style=form,explode=true,name=offset"` - // IPSec tunnel POP name - Pop *string `queryParam:"style=form,explode=true,name=pop"` - // IPSec tunnel site - Site *string `queryParam:"style=form,explode=true,name=site"` - // IPSec tunnel sortby column - Sortby *string `queryParam:"style=form,explode=true,name=sortby"` - // IPSec tunnel sortorder asc or desc. Default is asc - Sortorder *string `queryParam:"style=form,explode=true,name=sortorder"` - // IPSec tunnel sourcetype - Sourcetype *string `queryParam:"style=form,explode=true,name=sourcetype"` - // IPSec tunnel source identity - Srcidentity *string `queryParam:"style=form,explode=true,name=srcidentity"` - // IPSec tunnel source ip identity - Srcipidentity *string `queryParam:"style=form,explode=true,name=srcipidentity"` - // IPSec tunnel status - Status *string `queryParam:"style=form,explode=true,name=status"` -} - -func (g GetSteeringIpsecTunnelsRequest) MarshalJSON() ([]byte, error) { - return utils.MarshalJSON(g, "", false) -} - -func (g *GetSteeringIpsecTunnelsRequest) UnmarshalJSON(data []byte) error { - if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { - return err - } - return nil -} - -func (o *GetSteeringIpsecTunnelsRequest) GetFields() *string { - if o == nil { - return nil - } - return o.Fields -} - -func (o *GetSteeringIpsecTunnelsRequest) GetLimit() *int64 { - if o == nil { - return nil - } - return o.Limit -} - -func (o *GetSteeringIpsecTunnelsRequest) GetOffset() *int64 { - if o == nil { - return nil - } - return o.Offset -} - -func (o *GetSteeringIpsecTunnelsRequest) GetPop() *string { - if o == nil { - return nil - } - return o.Pop -} - -func (o *GetSteeringIpsecTunnelsRequest) GetSite() *string { - if o == nil { - return nil - } - return o.Site -} - -func (o *GetSteeringIpsecTunnelsRequest) GetSortby() *string { - if o == nil { - return nil - } - return o.Sortby -} - -func (o *GetSteeringIpsecTunnelsRequest) GetSortorder() *string { - if o == nil { - return nil - } - return o.Sortorder -} - -func (o *GetSteeringIpsecTunnelsRequest) GetSourcetype() *string { - if o == nil { - return nil - } - return o.Sourcetype -} - -func (o *GetSteeringIpsecTunnelsRequest) GetSrcidentity() *string { - if o == nil { - return nil - } - return o.Srcidentity -} - -func (o *GetSteeringIpsecTunnelsRequest) GetSrcipidentity() *string { - if o == nil { - return nil - } - return o.Srcipidentity -} - -func (o *GetSteeringIpsecTunnelsRequest) GetStatus() *string { - if o == nil { - return nil - } - return o.Status -} - -type GetSteeringIpsecTunnelsResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // Invalid request - IpsecResponse400 *shared.IpsecResponse400 - // Access forbidden - IpsecResponse403 *shared.IpsecResponse403 - // Method not allowed - IpsecResponse405 *shared.IpsecResponse405 - // Too many requests - IpsecResponse429 *shared.IpsecResponse429 - // Internal server error - IpsecResponse500 *shared.IpsecResponse500 - // Successful operation - IpsecTunnelResponse200 *shared.IpsecTunnelResponse200 -} - -func (o *GetSteeringIpsecTunnelsResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *GetSteeringIpsecTunnelsResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *GetSteeringIpsecTunnelsResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *GetSteeringIpsecTunnelsResponse) GetIpsecResponse400() *shared.IpsecResponse400 { - if o == nil { - return nil - } - return o.IpsecResponse400 -} - -func (o *GetSteeringIpsecTunnelsResponse) GetIpsecResponse403() *shared.IpsecResponse403 { - if o == nil { - return nil - } - return o.IpsecResponse403 -} - -func (o *GetSteeringIpsecTunnelsResponse) GetIpsecResponse405() *shared.IpsecResponse405 { - if o == nil { - return nil - } - return o.IpsecResponse405 -} - -func (o *GetSteeringIpsecTunnelsResponse) GetIpsecResponse429() *shared.IpsecResponse429 { - if o == nil { - return nil - } - return o.IpsecResponse429 -} - -func (o *GetSteeringIpsecTunnelsResponse) GetIpsecResponse500() *shared.IpsecResponse500 { - if o == nil { - return nil - } - return o.IpsecResponse500 -} - -func (o *GetSteeringIpsecTunnelsResponse) GetIpsecTunnelResponse200() *shared.IpsecTunnelResponse200 { - if o == nil { - return nil - } - return o.IpsecTunnelResponse200 -} diff --git a/internal/sdk/pkg/models/operations/getsteeringipsectunnelsid.go b/internal/sdk/pkg/models/operations/getsteeringipsectunnelsid.go deleted file mode 100644 index 391cdc1..0000000 --- a/internal/sdk/pkg/models/operations/getsteeringipsectunnelsid.go +++ /dev/null @@ -1,122 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type GetSteeringIpsecTunnelsIDRequest struct { - // Provide comma separated list of fields to be displayed - Fields *string `queryParam:"style=form,explode=true,name=fields"` - // IPSec tunnel id - ID int64 `pathParam:"style=simple,explode=false,name=id"` -} - -func (o *GetSteeringIpsecTunnelsIDRequest) GetFields() *string { - if o == nil { - return nil - } - return o.Fields -} - -func (o *GetSteeringIpsecTunnelsIDRequest) GetID() int64 { - if o == nil { - return 0 - } - return o.ID -} - -type GetSteeringIpsecTunnelsIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // Invalid request - IpsecResponse400 *shared.IpsecResponse400 - // Access forbidden - IpsecResponse403 *shared.IpsecResponse403 - // Not found - IpsecResponse404 *shared.IpsecResponse404 - // Method not allowed - IpsecResponse405 *shared.IpsecResponse405 - // Too many requests - IpsecResponse429 *shared.IpsecResponse429 - // Internal server error - IpsecResponse500 *shared.IpsecResponse500 - // Successful operation - IpsecTunnelResponse200 *shared.IpsecTunnelResponse200 -} - -func (o *GetSteeringIpsecTunnelsIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *GetSteeringIpsecTunnelsIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *GetSteeringIpsecTunnelsIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *GetSteeringIpsecTunnelsIDResponse) GetIpsecResponse400() *shared.IpsecResponse400 { - if o == nil { - return nil - } - return o.IpsecResponse400 -} - -func (o *GetSteeringIpsecTunnelsIDResponse) GetIpsecResponse403() *shared.IpsecResponse403 { - if o == nil { - return nil - } - return o.IpsecResponse403 -} - -func (o *GetSteeringIpsecTunnelsIDResponse) GetIpsecResponse404() *shared.IpsecResponse404 { - if o == nil { - return nil - } - return o.IpsecResponse404 -} - -func (o *GetSteeringIpsecTunnelsIDResponse) GetIpsecResponse405() *shared.IpsecResponse405 { - if o == nil { - return nil - } - return o.IpsecResponse405 -} - -func (o *GetSteeringIpsecTunnelsIDResponse) GetIpsecResponse429() *shared.IpsecResponse429 { - if o == nil { - return nil - } - return o.IpsecResponse429 -} - -func (o *GetSteeringIpsecTunnelsIDResponse) GetIpsecResponse500() *shared.IpsecResponse500 { - if o == nil { - return nil - } - return o.IpsecResponse500 -} - -func (o *GetSteeringIpsecTunnelsIDResponse) GetIpsecTunnelResponse200() *shared.IpsecTunnelResponse200 { - if o == nil { - return nil - } - return o.IpsecTunnelResponse200 -} diff --git a/internal/sdk/pkg/models/operations/patchinfrastructurepublisherspublisherid.go b/internal/sdk/pkg/models/operations/patchinfrastructurepublisherspublisherid.go index a8fb192..1e90840 100644 --- a/internal/sdk/pkg/models/operations/patchinfrastructurepublisherspublisherid.go +++ b/internal/sdk/pkg/models/operations/patchinfrastructurepublisherspublisherid.go @@ -5,23 +5,23 @@ package operations import ( "encoding/json" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" "net/http" ) -// Silent - flag to skip output except status code -type Silent string +// PatchInfrastructurePublishersPublisherIDQueryParamSilent - flag to skip output except status code +type PatchInfrastructurePublishersPublisherIDQueryParamSilent string const ( - SilentOne Silent = "1" - SilentZero Silent = "0" + PatchInfrastructurePublishersPublisherIDQueryParamSilentOne PatchInfrastructurePublishersPublisherIDQueryParamSilent = "1" + PatchInfrastructurePublishersPublisherIDQueryParamSilentZero PatchInfrastructurePublishersPublisherIDQueryParamSilent = "0" ) -func (e Silent) ToPointer() *Silent { +func (e PatchInfrastructurePublishersPublisherIDQueryParamSilent) ToPointer() *PatchInfrastructurePublishersPublisherIDQueryParamSilent { return &e } -func (e *Silent) UnmarshalJSON(data []byte) error { +func (e *PatchInfrastructurePublishersPublisherIDQueryParamSilent) UnmarshalJSON(data []byte) error { var v string if err := json.Unmarshal(data, &v); err != nil { return err @@ -30,19 +30,19 @@ func (e *Silent) UnmarshalJSON(data []byte) error { case "1": fallthrough case "0": - *e = Silent(v) + *e = PatchInfrastructurePublishersPublisherIDQueryParamSilent(v) return nil default: - return fmt.Errorf("invalid value for Silent: %v", v) + return fmt.Errorf("invalid value for PatchInfrastructurePublishersPublisherIDQueryParamSilent: %v", v) } } type PatchInfrastructurePublishersPublisherIDRequest struct { // publisher id - PublisherID int `pathParam:"style=simple,explode=false,name=publisher_id"` - PublisherPutRequest shared.PublisherPutRequest `request:"mediaType=application/json"` + PublisherID int `pathParam:"style=simple,explode=false,name=publisher_id"` // flag to skip output except status code - Silent *Silent `queryParam:"style=form,explode=true,name=silent"` + Silent *PatchInfrastructurePublishersPublisherIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + PublisherPutRequest shared.PublisherPutRequest `request:"mediaType=application/json"` } func (o *PatchInfrastructurePublishersPublisherIDRequest) GetPublisherID() int { @@ -52,18 +52,18 @@ func (o *PatchInfrastructurePublishersPublisherIDRequest) GetPublisherID() int { return o.PublisherID } -func (o *PatchInfrastructurePublishersPublisherIDRequest) GetPublisherPutRequest() shared.PublisherPutRequest { +func (o *PatchInfrastructurePublishersPublisherIDRequest) GetSilent() *PatchInfrastructurePublishersPublisherIDQueryParamSilent { if o == nil { - return shared.PublisherPutRequest{} + return nil } - return o.PublisherPutRequest + return o.Silent } -func (o *PatchInfrastructurePublishersPublisherIDRequest) GetSilent() *Silent { +func (o *PatchInfrastructurePublishersPublisherIDRequest) GetPublisherPutRequest() shared.PublisherPutRequest { if o == nil { - return nil + return shared.PublisherPutRequest{} } - return o.Silent + return o.PublisherPutRequest } type PatchInfrastructurePublishersPublisherIDResponse struct { diff --git a/internal/sdk/pkg/models/operations/patchpolicynpapolicygroupsid.go b/internal/sdk/pkg/models/operations/patchpolicynpapolicygroupsid.go deleted file mode 100644 index 8e931f2..0000000 --- a/internal/sdk/pkg/models/operations/patchpolicynpapolicygroupsid.go +++ /dev/null @@ -1,127 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -// QueryParamSilent - flag to skip output except status code -type QueryParamSilent string - -const ( - QueryParamSilentOne QueryParamSilent = "1" - QueryParamSilentZero QueryParamSilent = "0" -) - -func (e QueryParamSilent) ToPointer() *QueryParamSilent { - return &e -} - -func (e *QueryParamSilent) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "1": - fallthrough - case "0": - *e = QueryParamSilent(v) - return nil - default: - return fmt.Errorf("invalid value for QueryParamSilent: %v", v) - } -} - -type PatchPolicyNpaPolicygroupsIDRequest struct { - // policy group rule id - ID string `pathParam:"style=simple,explode=false,name=id"` - NpaPolicygroupRequest shared.NpaPolicygroupRequest `request:"mediaType=application/json"` - // flag to skip output except status code - Silent *QueryParamSilent `queryParam:"style=form,explode=true,name=silent"` -} - -func (o *PatchPolicyNpaPolicygroupsIDRequest) GetID() string { - if o == nil { - return "" - } - return o.ID -} - -func (o *PatchPolicyNpaPolicygroupsIDRequest) GetNpaPolicygroupRequest() shared.NpaPolicygroupRequest { - if o == nil { - return shared.NpaPolicygroupRequest{} - } - return o.NpaPolicygroupRequest -} - -func (o *PatchPolicyNpaPolicygroupsIDRequest) GetSilent() *QueryParamSilent { - if o == nil { - return nil - } - return o.Silent -} - -// PatchPolicyNpaPolicygroupsIDResponseBody - successful operation -type PatchPolicyNpaPolicygroupsIDResponseBody struct { - Data *shared.NpaPolicygroupResponseItem `json:"data,omitempty"` -} - -func (o *PatchPolicyNpaPolicygroupsIDResponseBody) GetData() *shared.NpaPolicygroupResponseItem { - if o == nil { - return nil - } - return o.Data -} - -type PatchPolicyNpaPolicygroupsIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // Invalid request - NpaPolicygroupResponse400 *shared.NpaPolicygroupResponse400 - // successful operation - Object *PatchPolicyNpaPolicygroupsIDResponseBody -} - -func (o *PatchPolicyNpaPolicygroupsIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PatchPolicyNpaPolicygroupsIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PatchPolicyNpaPolicygroupsIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PatchPolicyNpaPolicygroupsIDResponse) GetNpaPolicygroupResponse400() *shared.NpaPolicygroupResponse400 { - if o == nil { - return nil - } - return o.NpaPolicygroupResponse400 -} - -func (o *PatchPolicyNpaPolicygroupsIDResponse) GetObject() *PatchPolicyNpaPolicygroupsIDResponseBody { - if o == nil { - return nil - } - return o.Object -} diff --git a/internal/sdk/pkg/models/operations/patchpolicynparulesid.go b/internal/sdk/pkg/models/operations/patchpolicynparulesid.go index 2d6bf2d..03d9729 100644 --- a/internal/sdk/pkg/models/operations/patchpolicynparulesid.go +++ b/internal/sdk/pkg/models/operations/patchpolicynparulesid.go @@ -5,7 +5,7 @@ package operations import ( "encoding/json" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" "net/http" ) @@ -39,10 +39,10 @@ func (e *PatchPolicyNpaRulesIDQueryParamSilent) UnmarshalJSON(data []byte) error type PatchPolicyNpaRulesIDRequest struct { // policy rule id - ID string `pathParam:"style=simple,explode=false,name=id"` - NpaPolicyRequest shared.NpaPolicyRequest `request:"mediaType=application/json"` + ID string `pathParam:"style=simple,explode=false,name=id"` // flag to skip output except status code - Silent *PatchPolicyNpaRulesIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + Silent *PatchPolicyNpaRulesIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + NpaPolicyRequest shared.NpaPolicyRequest `request:"mediaType=application/json"` } func (o *PatchPolicyNpaRulesIDRequest) GetID() string { @@ -52,18 +52,18 @@ func (o *PatchPolicyNpaRulesIDRequest) GetID() string { return o.ID } -func (o *PatchPolicyNpaRulesIDRequest) GetNpaPolicyRequest() shared.NpaPolicyRequest { +func (o *PatchPolicyNpaRulesIDRequest) GetSilent() *PatchPolicyNpaRulesIDQueryParamSilent { if o == nil { - return shared.NpaPolicyRequest{} + return nil } - return o.NpaPolicyRequest + return o.Silent } -func (o *PatchPolicyNpaRulesIDRequest) GetSilent() *PatchPolicyNpaRulesIDQueryParamSilent { +func (o *PatchPolicyNpaRulesIDRequest) GetNpaPolicyRequest() shared.NpaPolicyRequest { if o == nil { - return nil + return shared.NpaPolicyRequest{} } - return o.Silent + return o.NpaPolicyRequest } // PatchPolicyNpaRulesIDResponseBody - successful operation @@ -85,10 +85,10 @@ type PatchPolicyNpaRulesIDResponse struct { StatusCode int // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response - // Invalid request - NpaPolicyResponse400 *shared.NpaPolicyResponse400 // successful operation Object *PatchPolicyNpaRulesIDResponseBody + // Invalid request + NpaPolicyResponse400 *shared.NpaPolicyResponse400 } func (o *PatchPolicyNpaRulesIDResponse) GetContentType() string { @@ -112,16 +112,16 @@ func (o *PatchPolicyNpaRulesIDResponse) GetRawResponse() *http.Response { return o.RawResponse } -func (o *PatchPolicyNpaRulesIDResponse) GetNpaPolicyResponse400() *shared.NpaPolicyResponse400 { +func (o *PatchPolicyNpaRulesIDResponse) GetObject() *PatchPolicyNpaRulesIDResponseBody { if o == nil { return nil } - return o.NpaPolicyResponse400 + return o.Object } -func (o *PatchPolicyNpaRulesIDResponse) GetObject() *PatchPolicyNpaRulesIDResponseBody { +func (o *PatchPolicyNpaRulesIDResponse) GetNpaPolicyResponse400() *shared.NpaPolicyResponse400 { if o == nil { return nil } - return o.Object + return o.NpaPolicyResponse400 } diff --git a/internal/sdk/pkg/models/operations/patchsteeringappsprivateprivateappid.go b/internal/sdk/pkg/models/operations/patchsteeringappsprivateprivateappid.go deleted file mode 100644 index 49a08f2..0000000 --- a/internal/sdk/pkg/models/operations/patchsteeringappsprivateprivateappid.go +++ /dev/null @@ -1,115 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -// PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent - flag to skip output except status code -type PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent string - -const ( - PatchSteeringAppsPrivatePrivateAppIDQueryParamSilentOne PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent = "1" - PatchSteeringAppsPrivatePrivateAppIDQueryParamSilentZero PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent = "0" -) - -func (e PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent) ToPointer() *PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent { - return &e -} - -func (e *PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "1": - fallthrough - case "0": - *e = PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent(v) - return nil - default: - return fmt.Errorf("invalid value for PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent: %v", v) - } -} - -type PatchSteeringAppsPrivatePrivateAppIDRequest struct { - // private apps id - PrivateAppID int `pathParam:"style=simple,explode=false,name=private_app_id"` - PrivateAppsPutRequest shared.PrivateAppsPutRequest `request:"mediaType=application/json"` - // flag to skip output except status code - Silent *PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` -} - -func (o *PatchSteeringAppsPrivatePrivateAppIDRequest) GetPrivateAppID() int { - if o == nil { - return 0 - } - return o.PrivateAppID -} - -func (o *PatchSteeringAppsPrivatePrivateAppIDRequest) GetPrivateAppsPutRequest() shared.PrivateAppsPutRequest { - if o == nil { - return shared.PrivateAppsPutRequest{} - } - return o.PrivateAppsPutRequest -} - -func (o *PatchSteeringAppsPrivatePrivateAppIDRequest) GetSilent() *PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent { - if o == nil { - return nil - } - return o.Silent -} - -type PatchSteeringAppsPrivatePrivateAppIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - PrivateAppsResponse *shared.PrivateAppsResponse - // Invalid request - PrivateAppsResponse400 *shared.PrivateAppsResponse400 -} - -func (o *PatchSteeringAppsPrivatePrivateAppIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PatchSteeringAppsPrivatePrivateAppIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PatchSteeringAppsPrivatePrivateAppIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PatchSteeringAppsPrivatePrivateAppIDResponse) GetPrivateAppsResponse() *shared.PrivateAppsResponse { - if o == nil { - return nil - } - return o.PrivateAppsResponse -} - -func (o *PatchSteeringAppsPrivatePrivateAppIDResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { - if o == nil { - return nil - } - return o.PrivateAppsResponse400 -} diff --git a/internal/sdk/pkg/models/operations/patchsteeringappsprivatetags.go b/internal/sdk/pkg/models/operations/patchsteeringappsprivatetags.go deleted file mode 100644 index b6c39aa..0000000 --- a/internal/sdk/pkg/models/operations/patchsteeringappsprivatetags.go +++ /dev/null @@ -1,56 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type PatchSteeringAppsPrivateTagsResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - TagResponse *shared.TagResponse - // Invalid request - TagResponse400 *shared.TagResponse400 -} - -func (o *PatchSteeringAppsPrivateTagsResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PatchSteeringAppsPrivateTagsResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PatchSteeringAppsPrivateTagsResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PatchSteeringAppsPrivateTagsResponse) GetTagResponse() *shared.TagResponse { - if o == nil { - return nil - } - return o.TagResponse -} - -func (o *PatchSteeringAppsPrivateTagsResponse) GetTagResponse400() *shared.TagResponse400 { - if o == nil { - return nil - } - return o.TagResponse400 -} diff --git a/internal/sdk/pkg/models/operations/patchsteeringgretunnelsid.go b/internal/sdk/pkg/models/operations/patchsteeringgretunnelsid.go deleted file mode 100644 index f9b0d6d..0000000 --- a/internal/sdk/pkg/models/operations/patchsteeringgretunnelsid.go +++ /dev/null @@ -1,122 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type PatchSteeringGreTunnelsIDRequest struct { - // GRE tunnel object - GreTunnelRequestPatch shared.GreTunnelRequestPatch `request:"mediaType=application/json"` - // GRE tunnel id - ID int64 `pathParam:"style=simple,explode=false,name=id"` -} - -func (o *PatchSteeringGreTunnelsIDRequest) GetGreTunnelRequestPatch() shared.GreTunnelRequestPatch { - if o == nil { - return shared.GreTunnelRequestPatch{} - } - return o.GreTunnelRequestPatch -} - -func (o *PatchSteeringGreTunnelsIDRequest) GetID() int64 { - if o == nil { - return 0 - } - return o.ID -} - -type PatchSteeringGreTunnelsIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // Successful operation - GrePatchResponse200 *shared.GrePatchResponse200 - // Invalid request - GreResponse400 *shared.GreResponse400 - // Access forbidden - GreResponse403 *shared.GreResponse403 - // Not found - GreResponse404 *shared.GreResponse404 - // Method not allowed - GreResponse405 *shared.GreResponse405 - // Too many requests - GreResponse429 *shared.GreResponse429 - // Internal server error - GreResponse500 *shared.GreResponse500 -} - -func (o *PatchSteeringGreTunnelsIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PatchSteeringGreTunnelsIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PatchSteeringGreTunnelsIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PatchSteeringGreTunnelsIDResponse) GetGrePatchResponse200() *shared.GrePatchResponse200 { - if o == nil { - return nil - } - return o.GrePatchResponse200 -} - -func (o *PatchSteeringGreTunnelsIDResponse) GetGreResponse400() *shared.GreResponse400 { - if o == nil { - return nil - } - return o.GreResponse400 -} - -func (o *PatchSteeringGreTunnelsIDResponse) GetGreResponse403() *shared.GreResponse403 { - if o == nil { - return nil - } - return o.GreResponse403 -} - -func (o *PatchSteeringGreTunnelsIDResponse) GetGreResponse404() *shared.GreResponse404 { - if o == nil { - return nil - } - return o.GreResponse404 -} - -func (o *PatchSteeringGreTunnelsIDResponse) GetGreResponse405() *shared.GreResponse405 { - if o == nil { - return nil - } - return o.GreResponse405 -} - -func (o *PatchSteeringGreTunnelsIDResponse) GetGreResponse429() *shared.GreResponse429 { - if o == nil { - return nil - } - return o.GreResponse429 -} - -func (o *PatchSteeringGreTunnelsIDResponse) GetGreResponse500() *shared.GreResponse500 { - if o == nil { - return nil - } - return o.GreResponse500 -} diff --git a/internal/sdk/pkg/models/operations/patchsteeringipsectunnelsid.go b/internal/sdk/pkg/models/operations/patchsteeringipsectunnelsid.go deleted file mode 100644 index dee1cf8..0000000 --- a/internal/sdk/pkg/models/operations/patchsteeringipsectunnelsid.go +++ /dev/null @@ -1,122 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type PatchSteeringIpsecTunnelsIDRequest struct { - // IPSec tunnel id - ID int64 `pathParam:"style=simple,explode=false,name=id"` - // IPSec tunnel object - IpsecTunnelRequestPatch shared.IpsecTunnelRequestPatch `request:"mediaType=application/json"` -} - -func (o *PatchSteeringIpsecTunnelsIDRequest) GetID() int64 { - if o == nil { - return 0 - } - return o.ID -} - -func (o *PatchSteeringIpsecTunnelsIDRequest) GetIpsecTunnelRequestPatch() shared.IpsecTunnelRequestPatch { - if o == nil { - return shared.IpsecTunnelRequestPatch{} - } - return o.IpsecTunnelRequestPatch -} - -type PatchSteeringIpsecTunnelsIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // Successful operation - IpsecPatchResponse200 *shared.IpsecPatchResponse200 - // Invalid request - IpsecResponse400 *shared.IpsecResponse400 - // Access forbidden - IpsecResponse403 *shared.IpsecResponse403 - // Not found - IpsecResponse404 *shared.IpsecResponse404 - // Method not allowed - IpsecResponse405 *shared.IpsecResponse405 - // Too many requests - IpsecResponse429 *shared.IpsecResponse429 - // Internal server error - IpsecResponse500 *shared.IpsecResponse500 -} - -func (o *PatchSteeringIpsecTunnelsIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PatchSteeringIpsecTunnelsIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PatchSteeringIpsecTunnelsIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PatchSteeringIpsecTunnelsIDResponse) GetIpsecPatchResponse200() *shared.IpsecPatchResponse200 { - if o == nil { - return nil - } - return o.IpsecPatchResponse200 -} - -func (o *PatchSteeringIpsecTunnelsIDResponse) GetIpsecResponse400() *shared.IpsecResponse400 { - if o == nil { - return nil - } - return o.IpsecResponse400 -} - -func (o *PatchSteeringIpsecTunnelsIDResponse) GetIpsecResponse403() *shared.IpsecResponse403 { - if o == nil { - return nil - } - return o.IpsecResponse403 -} - -func (o *PatchSteeringIpsecTunnelsIDResponse) GetIpsecResponse404() *shared.IpsecResponse404 { - if o == nil { - return nil - } - return o.IpsecResponse404 -} - -func (o *PatchSteeringIpsecTunnelsIDResponse) GetIpsecResponse405() *shared.IpsecResponse405 { - if o == nil { - return nil - } - return o.IpsecResponse405 -} - -func (o *PatchSteeringIpsecTunnelsIDResponse) GetIpsecResponse429() *shared.IpsecResponse429 { - if o == nil { - return nil - } - return o.IpsecResponse429 -} - -func (o *PatchSteeringIpsecTunnelsIDResponse) GetIpsecResponse500() *shared.IpsecResponse500 { - if o == nil { - return nil - } - return o.IpsecResponse500 -} diff --git a/internal/sdk/pkg/models/operations/postinfrastructurepublishers.go b/internal/sdk/pkg/models/operations/postinfrastructurepublishers.go index 16bbdc7..ae1ccdb 100644 --- a/internal/sdk/pkg/models/operations/postinfrastructurepublishers.go +++ b/internal/sdk/pkg/models/operations/postinfrastructurepublishers.go @@ -5,23 +5,23 @@ package operations import ( "encoding/json" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" "net/http" ) -// PostInfrastructurePublishersQueryParamSilent - flag to skip output except status code -type PostInfrastructurePublishersQueryParamSilent string +// Silent - flag to skip output except status code +type Silent string const ( - PostInfrastructurePublishersQueryParamSilentOne PostInfrastructurePublishersQueryParamSilent = "1" - PostInfrastructurePublishersQueryParamSilentZero PostInfrastructurePublishersQueryParamSilent = "0" + SilentOne Silent = "1" + SilentZero Silent = "0" ) -func (e PostInfrastructurePublishersQueryParamSilent) ToPointer() *PostInfrastructurePublishersQueryParamSilent { +func (e Silent) ToPointer() *Silent { return &e } -func (e *PostInfrastructurePublishersQueryParamSilent) UnmarshalJSON(data []byte) error { +func (e *Silent) UnmarshalJSON(data []byte) error { var v string if err := json.Unmarshal(data, &v); err != nil { return err @@ -30,31 +30,31 @@ func (e *PostInfrastructurePublishersQueryParamSilent) UnmarshalJSON(data []byte case "1": fallthrough case "0": - *e = PostInfrastructurePublishersQueryParamSilent(v) + *e = Silent(v) return nil default: - return fmt.Errorf("invalid value for PostInfrastructurePublishersQueryParamSilent: %v", v) + return fmt.Errorf("invalid value for Silent: %v", v) } } type PostInfrastructurePublishersRequest struct { - PublisherPostRequest shared.PublisherPostRequest `request:"mediaType=application/json"` // flag to skip output except status code - Silent *PostInfrastructurePublishersQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + Silent *Silent `queryParam:"style=form,explode=true,name=silent"` + PublisherPostRequest shared.PublisherPostRequest `request:"mediaType=application/json"` } -func (o *PostInfrastructurePublishersRequest) GetPublisherPostRequest() shared.PublisherPostRequest { +func (o *PostInfrastructurePublishersRequest) GetSilent() *Silent { if o == nil { - return shared.PublisherPostRequest{} + return nil } - return o.PublisherPostRequest + return o.Silent } -func (o *PostInfrastructurePublishersRequest) GetSilent() *PostInfrastructurePublishersQueryParamSilent { +func (o *PostInfrastructurePublishersRequest) GetPublisherPostRequest() shared.PublisherPostRequest { if o == nil { - return nil + return shared.PublisherPostRequest{} } - return o.Silent + return o.PublisherPostRequest } type PostInfrastructurePublishersResponse struct { diff --git a/internal/sdk/pkg/models/operations/postinfrastructurepublisherspublisheridregistrationtoken.go b/internal/sdk/pkg/models/operations/postinfrastructurepublisherspublisheridregistrationtoken.go index 35425ed..25c9122 100644 --- a/internal/sdk/pkg/models/operations/postinfrastructurepublisherspublisheridregistrationtoken.go +++ b/internal/sdk/pkg/models/operations/postinfrastructurepublisherspublisheridregistrationtoken.go @@ -5,7 +5,7 @@ package operations import ( "encoding/json" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" "net/http" ) @@ -21,11 +21,11 @@ func (o *PostInfrastructurePublishersPublisherIDRegistrationTokenRequest) GetPub return o.PublisherID } -type PostInfrastructurePublishersPublisherIDRegistrationTokenData struct { +type Data struct { Token string `json:"token"` } -func (o *PostInfrastructurePublishersPublisherIDRegistrationTokenData) GetToken() string { +func (o *Data) GetToken() string { if o == nil { return "" } @@ -61,13 +61,13 @@ func (e *PostInfrastructurePublishersPublisherIDRegistrationTokenStatus) Unmarsh // PostInfrastructurePublishersPublisherIDRegistrationTokenResponseBody - successful operation type PostInfrastructurePublishersPublisherIDRegistrationTokenResponseBody struct { - Data PostInfrastructurePublishersPublisherIDRegistrationTokenData `json:"data"` + Data Data `json:"data"` Status PostInfrastructurePublishersPublisherIDRegistrationTokenStatus `json:"status"` } -func (o *PostInfrastructurePublishersPublisherIDRegistrationTokenResponseBody) GetData() PostInfrastructurePublishersPublisherIDRegistrationTokenData { +func (o *PostInfrastructurePublishersPublisherIDRegistrationTokenResponseBody) GetData() Data { if o == nil { - return PostInfrastructurePublishersPublisherIDRegistrationTokenData{} + return Data{} } return o.Data } diff --git a/internal/sdk/pkg/models/operations/postinfrastructurepublisherupgradeprofiles.go b/internal/sdk/pkg/models/operations/postinfrastructurepublisherupgradeprofiles.go deleted file mode 100644 index 77c7cbc..0000000 --- a/internal/sdk/pkg/models/operations/postinfrastructurepublisherupgradeprofiles.go +++ /dev/null @@ -1,106 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -// PostInfrastructurePublisherupgradeprofilesQueryParamSilent - flag to skip output except status code -type PostInfrastructurePublisherupgradeprofilesQueryParamSilent string - -const ( - PostInfrastructurePublisherupgradeprofilesQueryParamSilentOne PostInfrastructurePublisherupgradeprofilesQueryParamSilent = "1" - PostInfrastructurePublisherupgradeprofilesQueryParamSilentZero PostInfrastructurePublisherupgradeprofilesQueryParamSilent = "0" -) - -func (e PostInfrastructurePublisherupgradeprofilesQueryParamSilent) ToPointer() *PostInfrastructurePublisherupgradeprofilesQueryParamSilent { - return &e -} - -func (e *PostInfrastructurePublisherupgradeprofilesQueryParamSilent) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "1": - fallthrough - case "0": - *e = PostInfrastructurePublisherupgradeprofilesQueryParamSilent(v) - return nil - default: - return fmt.Errorf("invalid value for PostInfrastructurePublisherupgradeprofilesQueryParamSilent: %v", v) - } -} - -type PostInfrastructurePublisherupgradeprofilesRequest struct { - PublisherUpgradeProfilePostRequest *shared.PublisherUpgradeProfilePostRequest `request:"mediaType=application/json"` - // flag to skip output except status code - Silent *PostInfrastructurePublisherupgradeprofilesQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` -} - -func (o *PostInfrastructurePublisherupgradeprofilesRequest) GetPublisherUpgradeProfilePostRequest() *shared.PublisherUpgradeProfilePostRequest { - if o == nil { - return nil - } - return o.PublisherUpgradeProfilePostRequest -} - -func (o *PostInfrastructurePublisherupgradeprofilesRequest) GetSilent() *PostInfrastructurePublisherupgradeprofilesQueryParamSilent { - if o == nil { - return nil - } - return o.Silent -} - -type PostInfrastructurePublisherupgradeprofilesResponse struct { - // Invalid request - FourHundred *shared.FourHundred - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - PublisherUpgradeProfileResponse *shared.PublisherUpgradeProfileResponse -} - -func (o *PostInfrastructurePublisherupgradeprofilesResponse) GetFourHundred() *shared.FourHundred { - if o == nil { - return nil - } - return o.FourHundred -} - -func (o *PostInfrastructurePublisherupgradeprofilesResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PostInfrastructurePublisherupgradeprofilesResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PostInfrastructurePublisherupgradeprofilesResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PostInfrastructurePublisherupgradeprofilesResponse) GetPublisherUpgradeProfileResponse() *shared.PublisherUpgradeProfileResponse { - if o == nil { - return nil - } - return o.PublisherUpgradeProfileResponse -} diff --git a/internal/sdk/pkg/models/operations/postpolicynpapolicygroups.go b/internal/sdk/pkg/models/operations/postpolicynpapolicygroups.go deleted file mode 100644 index a73788f..0000000 --- a/internal/sdk/pkg/models/operations/postpolicynpapolicygroups.go +++ /dev/null @@ -1,118 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -// PostPolicyNpaPolicygroupsQueryParamSilent - flag to skip output except status code -type PostPolicyNpaPolicygroupsQueryParamSilent string - -const ( - PostPolicyNpaPolicygroupsQueryParamSilentOne PostPolicyNpaPolicygroupsQueryParamSilent = "1" - PostPolicyNpaPolicygroupsQueryParamSilentZero PostPolicyNpaPolicygroupsQueryParamSilent = "0" -) - -func (e PostPolicyNpaPolicygroupsQueryParamSilent) ToPointer() *PostPolicyNpaPolicygroupsQueryParamSilent { - return &e -} - -func (e *PostPolicyNpaPolicygroupsQueryParamSilent) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "1": - fallthrough - case "0": - *e = PostPolicyNpaPolicygroupsQueryParamSilent(v) - return nil - default: - return fmt.Errorf("invalid value for PostPolicyNpaPolicygroupsQueryParamSilent: %v", v) - } -} - -type PostPolicyNpaPolicygroupsRequest struct { - NpaPolicygroupRequest shared.NpaPolicygroupRequest `request:"mediaType=application/json"` - // flag to skip output except status code - Silent *PostPolicyNpaPolicygroupsQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` -} - -func (o *PostPolicyNpaPolicygroupsRequest) GetNpaPolicygroupRequest() shared.NpaPolicygroupRequest { - if o == nil { - return shared.NpaPolicygroupRequest{} - } - return o.NpaPolicygroupRequest -} - -func (o *PostPolicyNpaPolicygroupsRequest) GetSilent() *PostPolicyNpaPolicygroupsQueryParamSilent { - if o == nil { - return nil - } - return o.Silent -} - -// PostPolicyNpaPolicygroupsResponseBody - successful operation -type PostPolicyNpaPolicygroupsResponseBody struct { - Data *shared.NpaPolicygroupResponseItem `json:"data,omitempty"` -} - -func (o *PostPolicyNpaPolicygroupsResponseBody) GetData() *shared.NpaPolicygroupResponseItem { - if o == nil { - return nil - } - return o.Data -} - -type PostPolicyNpaPolicygroupsResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // Invalid request - NpaPolicygroupResponse400 *shared.NpaPolicygroupResponse400 - // successful operation - Object *PostPolicyNpaPolicygroupsResponseBody -} - -func (o *PostPolicyNpaPolicygroupsResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PostPolicyNpaPolicygroupsResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PostPolicyNpaPolicygroupsResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PostPolicyNpaPolicygroupsResponse) GetNpaPolicygroupResponse400() *shared.NpaPolicygroupResponse400 { - if o == nil { - return nil - } - return o.NpaPolicygroupResponse400 -} - -func (o *PostPolicyNpaPolicygroupsResponse) GetObject() *PostPolicyNpaPolicygroupsResponseBody { - if o == nil { - return nil - } - return o.Object -} diff --git a/internal/sdk/pkg/models/operations/postpolicynparules.go b/internal/sdk/pkg/models/operations/postpolicynparules.go index 3c0e71e..eef5df7 100644 --- a/internal/sdk/pkg/models/operations/postpolicynparules.go +++ b/internal/sdk/pkg/models/operations/postpolicynparules.go @@ -3,7 +3,7 @@ package operations import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" "net/http" ) @@ -26,10 +26,10 @@ type PostPolicyNpaRulesResponse struct { StatusCode int // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response - // Invalid request - NpaPolicyResponse400 *shared.NpaPolicyResponse400 // successful operation Object *PostPolicyNpaRulesResponseBody + // Invalid request + NpaPolicyResponse400 *shared.NpaPolicyResponse400 } func (o *PostPolicyNpaRulesResponse) GetContentType() string { @@ -53,16 +53,16 @@ func (o *PostPolicyNpaRulesResponse) GetRawResponse() *http.Response { return o.RawResponse } -func (o *PostPolicyNpaRulesResponse) GetNpaPolicyResponse400() *shared.NpaPolicyResponse400 { +func (o *PostPolicyNpaRulesResponse) GetObject() *PostPolicyNpaRulesResponseBody { if o == nil { return nil } - return o.NpaPolicyResponse400 + return o.Object } -func (o *PostPolicyNpaRulesResponse) GetObject() *PostPolicyNpaRulesResponseBody { +func (o *PostPolicyNpaRulesResponse) GetNpaPolicyResponse400() *shared.NpaPolicyResponse400 { if o == nil { return nil } - return o.Object + return o.NpaPolicyResponse400 } diff --git a/internal/sdk/pkg/models/operations/poststeeringappsprivate.go b/internal/sdk/pkg/models/operations/poststeeringappsprivate.go deleted file mode 100644 index 1ddf726..0000000 --- a/internal/sdk/pkg/models/operations/poststeeringappsprivate.go +++ /dev/null @@ -1,106 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -// PostSteeringAppsPrivateQueryParamSilent - flag to skip output except status code -type PostSteeringAppsPrivateQueryParamSilent string - -const ( - PostSteeringAppsPrivateQueryParamSilentOne PostSteeringAppsPrivateQueryParamSilent = "1" - PostSteeringAppsPrivateQueryParamSilentZero PostSteeringAppsPrivateQueryParamSilent = "0" -) - -func (e PostSteeringAppsPrivateQueryParamSilent) ToPointer() *PostSteeringAppsPrivateQueryParamSilent { - return &e -} - -func (e *PostSteeringAppsPrivateQueryParamSilent) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "1": - fallthrough - case "0": - *e = PostSteeringAppsPrivateQueryParamSilent(v) - return nil - default: - return fmt.Errorf("invalid value for PostSteeringAppsPrivateQueryParamSilent: %v", v) - } -} - -type PostSteeringAppsPrivateRequest struct { - PrivateAppsRequest shared.PrivateAppsRequest `request:"mediaType=application/json"` - // flag to skip output except status code - Silent *PostSteeringAppsPrivateQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` -} - -func (o *PostSteeringAppsPrivateRequest) GetPrivateAppsRequest() shared.PrivateAppsRequest { - if o == nil { - return shared.PrivateAppsRequest{} - } - return o.PrivateAppsRequest -} - -func (o *PostSteeringAppsPrivateRequest) GetSilent() *PostSteeringAppsPrivateQueryParamSilent { - if o == nil { - return nil - } - return o.Silent -} - -type PostSteeringAppsPrivateResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - PrivateAppsResponse *shared.PrivateAppsResponse - // Invalid request - PrivateAppsResponse400 *shared.PrivateAppsResponse400 -} - -func (o *PostSteeringAppsPrivateResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PostSteeringAppsPrivateResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PostSteeringAppsPrivateResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PostSteeringAppsPrivateResponse) GetPrivateAppsResponse() *shared.PrivateAppsResponse { - if o == nil { - return nil - } - return o.PrivateAppsResponse -} - -func (o *PostSteeringAppsPrivateResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { - if o == nil { - return nil - } - return o.PrivateAppsResponse400 -} diff --git a/internal/sdk/pkg/models/operations/poststeeringappsprivategetpolicyinuse.go b/internal/sdk/pkg/models/operations/poststeeringappsprivategetpolicyinuse.go deleted file mode 100644 index 980f993..0000000 --- a/internal/sdk/pkg/models/operations/poststeeringappsprivategetpolicyinuse.go +++ /dev/null @@ -1,90 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type PostSteeringAppsPrivateGetpolicyinuseRequestBody struct { - Ids []string `json:"ids,omitempty"` -} - -func (o *PostSteeringAppsPrivateGetpolicyinuseRequestBody) GetIds() []string { - if o == nil { - return nil - } - return o.Ids -} - -type Data struct { - Token *string `json:"token,omitempty"` -} - -func (o *Data) GetToken() *string { - if o == nil { - return nil - } - return o.Token -} - -// PostSteeringAppsPrivateGetpolicyinuseResponseBody - successful operation -type PostSteeringAppsPrivateGetpolicyinuseResponseBody struct { - Data []Data `json:"data,omitempty"` -} - -func (o *PostSteeringAppsPrivateGetpolicyinuseResponseBody) GetData() []Data { - if o == nil { - return nil - } - return o.Data -} - -type PostSteeringAppsPrivateGetpolicyinuseResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - Object *PostSteeringAppsPrivateGetpolicyinuseResponseBody - // Invalid request - PrivateAppsResponse400 *shared.PrivateAppsResponse400 -} - -func (o *PostSteeringAppsPrivateGetpolicyinuseResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PostSteeringAppsPrivateGetpolicyinuseResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PostSteeringAppsPrivateGetpolicyinuseResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PostSteeringAppsPrivateGetpolicyinuseResponse) GetObject() *PostSteeringAppsPrivateGetpolicyinuseResponseBody { - if o == nil { - return nil - } - return o.Object -} - -func (o *PostSteeringAppsPrivateGetpolicyinuseResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { - if o == nil { - return nil - } - return o.PrivateAppsResponse400 -} diff --git a/internal/sdk/pkg/models/operations/poststeeringappsprivatetags.go b/internal/sdk/pkg/models/operations/poststeeringappsprivatetags.go deleted file mode 100644 index a6b0c1d..0000000 --- a/internal/sdk/pkg/models/operations/poststeeringappsprivatetags.go +++ /dev/null @@ -1,56 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type PostSteeringAppsPrivateTagsResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - TagResponse *shared.TagResponse - // Invalid request - TagResponse400 *shared.TagResponse400 -} - -func (o *PostSteeringAppsPrivateTagsResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PostSteeringAppsPrivateTagsResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PostSteeringAppsPrivateTagsResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PostSteeringAppsPrivateTagsResponse) GetTagResponse() *shared.TagResponse { - if o == nil { - return nil - } - return o.TagResponse -} - -func (o *PostSteeringAppsPrivateTagsResponse) GetTagResponse400() *shared.TagResponse400 { - if o == nil { - return nil - } - return o.TagResponse400 -} diff --git a/internal/sdk/pkg/models/operations/poststeeringappsprivatetagsgetpolicyinuse.go b/internal/sdk/pkg/models/operations/poststeeringappsprivatetagsgetpolicyinuse.go deleted file mode 100644 index 1ca8d96..0000000 --- a/internal/sdk/pkg/models/operations/poststeeringappsprivatetagsgetpolicyinuse.go +++ /dev/null @@ -1,90 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type PostSteeringAppsPrivateTagsGetpolicyinuseRequestBody struct { - Ids []string `json:"ids,omitempty"` -} - -func (o *PostSteeringAppsPrivateTagsGetpolicyinuseRequestBody) GetIds() []string { - if o == nil { - return nil - } - return o.Ids -} - -type PostSteeringAppsPrivateTagsGetpolicyinuseData struct { - Token *string `json:"token,omitempty"` -} - -func (o *PostSteeringAppsPrivateTagsGetpolicyinuseData) GetToken() *string { - if o == nil { - return nil - } - return o.Token -} - -// PostSteeringAppsPrivateTagsGetpolicyinuseResponseBody - successful operation -type PostSteeringAppsPrivateTagsGetpolicyinuseResponseBody struct { - Data []PostSteeringAppsPrivateTagsGetpolicyinuseData `json:"data,omitempty"` -} - -func (o *PostSteeringAppsPrivateTagsGetpolicyinuseResponseBody) GetData() []PostSteeringAppsPrivateTagsGetpolicyinuseData { - if o == nil { - return nil - } - return o.Data -} - -type PostSteeringAppsPrivateTagsGetpolicyinuseResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - Object *PostSteeringAppsPrivateTagsGetpolicyinuseResponseBody - // Invalid request - TagResponse400 *shared.TagResponse400 -} - -func (o *PostSteeringAppsPrivateTagsGetpolicyinuseResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PostSteeringAppsPrivateTagsGetpolicyinuseResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PostSteeringAppsPrivateTagsGetpolicyinuseResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PostSteeringAppsPrivateTagsGetpolicyinuseResponse) GetObject() *PostSteeringAppsPrivateTagsGetpolicyinuseResponseBody { - if o == nil { - return nil - } - return o.Object -} - -func (o *PostSteeringAppsPrivateTagsGetpolicyinuseResponse) GetTagResponse400() *shared.TagResponse400 { - if o == nil { - return nil - } - return o.TagResponse400 -} diff --git a/internal/sdk/pkg/models/operations/poststeeringgretunnels.go b/internal/sdk/pkg/models/operations/poststeeringgretunnels.go deleted file mode 100644 index dc11bcf..0000000 --- a/internal/sdk/pkg/models/operations/poststeeringgretunnels.go +++ /dev/null @@ -1,101 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type PostSteeringGreTunnelsResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // Successful operation - GreResponse201 *shared.GreResponse201 - // Invalid request - GreResponse400 *shared.GreResponse400 - // Access forbidden - GreResponse403 *shared.GreResponse403 - // Method not allowed - GreResponse405 *shared.GreResponse405 - // Already exists - GreResponse409 *shared.GreResponse409 - // Too many requests - GreResponse429 *shared.GreResponse429 - // Internal server error - GreResponse500 *shared.GreResponse500 -} - -func (o *PostSteeringGreTunnelsResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PostSteeringGreTunnelsResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PostSteeringGreTunnelsResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PostSteeringGreTunnelsResponse) GetGreResponse201() *shared.GreResponse201 { - if o == nil { - return nil - } - return o.GreResponse201 -} - -func (o *PostSteeringGreTunnelsResponse) GetGreResponse400() *shared.GreResponse400 { - if o == nil { - return nil - } - return o.GreResponse400 -} - -func (o *PostSteeringGreTunnelsResponse) GetGreResponse403() *shared.GreResponse403 { - if o == nil { - return nil - } - return o.GreResponse403 -} - -func (o *PostSteeringGreTunnelsResponse) GetGreResponse405() *shared.GreResponse405 { - if o == nil { - return nil - } - return o.GreResponse405 -} - -func (o *PostSteeringGreTunnelsResponse) GetGreResponse409() *shared.GreResponse409 { - if o == nil { - return nil - } - return o.GreResponse409 -} - -func (o *PostSteeringGreTunnelsResponse) GetGreResponse429() *shared.GreResponse429 { - if o == nil { - return nil - } - return o.GreResponse429 -} - -func (o *PostSteeringGreTunnelsResponse) GetGreResponse500() *shared.GreResponse500 { - if o == nil { - return nil - } - return o.GreResponse500 -} diff --git a/internal/sdk/pkg/models/operations/poststeeringipsectunnels.go b/internal/sdk/pkg/models/operations/poststeeringipsectunnels.go deleted file mode 100644 index 2aab8a3..0000000 --- a/internal/sdk/pkg/models/operations/poststeeringipsectunnels.go +++ /dev/null @@ -1,101 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type PostSteeringIpsecTunnelsResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // Successful operation - IpsecResponse201 *shared.IpsecResponse201 - // Invalid request - IpsecResponse400 *shared.IpsecResponse400 - // Access forbidden - IpsecResponse403 *shared.IpsecResponse403 - // Method not allowed - IpsecResponse405 *shared.IpsecResponse405 - // Already exists - IpsecResponse409 *shared.IpsecResponse409 - // Too many requests - IpsecResponse429 *shared.IpsecResponse429 - // Internal server error - IpsecResponse500 *shared.IpsecResponse500 -} - -func (o *PostSteeringIpsecTunnelsResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PostSteeringIpsecTunnelsResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PostSteeringIpsecTunnelsResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PostSteeringIpsecTunnelsResponse) GetIpsecResponse201() *shared.IpsecResponse201 { - if o == nil { - return nil - } - return o.IpsecResponse201 -} - -func (o *PostSteeringIpsecTunnelsResponse) GetIpsecResponse400() *shared.IpsecResponse400 { - if o == nil { - return nil - } - return o.IpsecResponse400 -} - -func (o *PostSteeringIpsecTunnelsResponse) GetIpsecResponse403() *shared.IpsecResponse403 { - if o == nil { - return nil - } - return o.IpsecResponse403 -} - -func (o *PostSteeringIpsecTunnelsResponse) GetIpsecResponse405() *shared.IpsecResponse405 { - if o == nil { - return nil - } - return o.IpsecResponse405 -} - -func (o *PostSteeringIpsecTunnelsResponse) GetIpsecResponse409() *shared.IpsecResponse409 { - if o == nil { - return nil - } - return o.IpsecResponse409 -} - -func (o *PostSteeringIpsecTunnelsResponse) GetIpsecResponse429() *shared.IpsecResponse429 { - if o == nil { - return nil - } - return o.IpsecResponse429 -} - -func (o *PostSteeringIpsecTunnelsResponse) GetIpsecResponse500() *shared.IpsecResponse500 { - if o == nil { - return nil - } - return o.IpsecResponse500 -} diff --git a/internal/sdk/pkg/models/operations/putinfrastructurepublishersalertsconfiguration.go b/internal/sdk/pkg/models/operations/putinfrastructurepublishersalertsconfiguration.go index 9718dd3..b007907 100644 --- a/internal/sdk/pkg/models/operations/putinfrastructurepublishersalertsconfiguration.go +++ b/internal/sdk/pkg/models/operations/putinfrastructurepublishersalertsconfiguration.go @@ -3,7 +3,7 @@ package operations import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" "net/http" ) diff --git a/internal/sdk/pkg/models/operations/putinfrastructurepublishersbulk.go b/internal/sdk/pkg/models/operations/putinfrastructurepublishersbulk.go index ca6402f..52f9c84 100644 --- a/internal/sdk/pkg/models/operations/putinfrastructurepublishersbulk.go +++ b/internal/sdk/pkg/models/operations/putinfrastructurepublishersbulk.go @@ -3,7 +3,7 @@ package operations import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" "net/http" ) diff --git a/internal/sdk/pkg/models/operations/putinfrastructurepublisherspublisherid.go b/internal/sdk/pkg/models/operations/putinfrastructurepublisherspublisherid.go index a30425f..b15df39 100644 --- a/internal/sdk/pkg/models/operations/putinfrastructurepublisherspublisherid.go +++ b/internal/sdk/pkg/models/operations/putinfrastructurepublisherspublisherid.go @@ -5,23 +5,23 @@ package operations import ( "encoding/json" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" "net/http" ) -// PutInfrastructurePublishersPublisherIDQueryParamSilent - flag to skip output except status code -type PutInfrastructurePublishersPublisherIDQueryParamSilent string +// QueryParamSilent - flag to skip output except status code +type QueryParamSilent string const ( - PutInfrastructurePublishersPublisherIDQueryParamSilentOne PutInfrastructurePublishersPublisherIDQueryParamSilent = "1" - PutInfrastructurePublishersPublisherIDQueryParamSilentZero PutInfrastructurePublishersPublisherIDQueryParamSilent = "0" + QueryParamSilentOne QueryParamSilent = "1" + QueryParamSilentZero QueryParamSilent = "0" ) -func (e PutInfrastructurePublishersPublisherIDQueryParamSilent) ToPointer() *PutInfrastructurePublishersPublisherIDQueryParamSilent { +func (e QueryParamSilent) ToPointer() *QueryParamSilent { return &e } -func (e *PutInfrastructurePublishersPublisherIDQueryParamSilent) UnmarshalJSON(data []byte) error { +func (e *QueryParamSilent) UnmarshalJSON(data []byte) error { var v string if err := json.Unmarshal(data, &v); err != nil { return err @@ -30,19 +30,19 @@ func (e *PutInfrastructurePublishersPublisherIDQueryParamSilent) UnmarshalJSON(d case "1": fallthrough case "0": - *e = PutInfrastructurePublishersPublisherIDQueryParamSilent(v) + *e = QueryParamSilent(v) return nil default: - return fmt.Errorf("invalid value for PutInfrastructurePublishersPublisherIDQueryParamSilent: %v", v) + return fmt.Errorf("invalid value for QueryParamSilent: %v", v) } } type PutInfrastructurePublishersPublisherIDRequest struct { // publisher id - PublisherID int `pathParam:"style=simple,explode=false,name=publisher_id"` - PublisherPutRequest shared.PublisherPutRequest `request:"mediaType=application/json"` + PublisherID int `pathParam:"style=simple,explode=false,name=publisher_id"` // flag to skip output except status code - Silent *PutInfrastructurePublishersPublisherIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + Silent *QueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + PublisherPutRequest shared.PublisherPutRequest `request:"mediaType=application/json"` } func (o *PutInfrastructurePublishersPublisherIDRequest) GetPublisherID() int { @@ -52,18 +52,18 @@ func (o *PutInfrastructurePublishersPublisherIDRequest) GetPublisherID() int { return o.PublisherID } -func (o *PutInfrastructurePublishersPublisherIDRequest) GetPublisherPutRequest() shared.PublisherPutRequest { +func (o *PutInfrastructurePublishersPublisherIDRequest) GetSilent() *QueryParamSilent { if o == nil { - return shared.PublisherPutRequest{} + return nil } - return o.PublisherPutRequest + return o.Silent } -func (o *PutInfrastructurePublishersPublisherIDRequest) GetSilent() *PutInfrastructurePublishersPublisherIDQueryParamSilent { +func (o *PutInfrastructurePublishersPublisherIDRequest) GetPublisherPutRequest() shared.PublisherPutRequest { if o == nil { - return nil + return shared.PublisherPutRequest{} } - return o.Silent + return o.PublisherPutRequest } type PutInfrastructurePublishersPublisherIDResponse struct { diff --git a/internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesbulk.go b/internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesbulk.go deleted file mode 100644 index 9fba274..0000000 --- a/internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesbulk.go +++ /dev/null @@ -1,110 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -// PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent - flag to skip output except status code: -// - `1` - Skip response data -// - `0` - Do not skip response data -type PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent string - -const ( - PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilentOne PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent = "1" - PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilentZero PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent = "0" -) - -func (e PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent) ToPointer() *PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent { - return &e -} - -func (e *PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "1": - fallthrough - case "0": - *e = PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent(v) - return nil - default: - return fmt.Errorf("invalid value for PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent: %v", v) - } -} - -type PutInfrastructurePublisherupgradeprofilesBulkRequest struct { - PublisherUpgradeProfileBulkRequest shared.PublisherUpgradeProfileBulkRequest `request:"mediaType=application/json"` - // flag to skip output except status code: - // * `1` - Skip response data - // * `0` - Do not skip response data - Silent *PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` -} - -func (o *PutInfrastructurePublisherupgradeprofilesBulkRequest) GetPublisherUpgradeProfileBulkRequest() shared.PublisherUpgradeProfileBulkRequest { - if o == nil { - return shared.PublisherUpgradeProfileBulkRequest{} - } - return o.PublisherUpgradeProfileBulkRequest -} - -func (o *PutInfrastructurePublisherupgradeprofilesBulkRequest) GetSilent() *PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent { - if o == nil { - return nil - } - return o.Silent -} - -type PutInfrastructurePublisherupgradeprofilesBulkResponse struct { - // Invalid request - FourHundred *shared.FourHundred - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - PublisherUpgradeProfileBulkResponse *shared.PublisherUpgradeProfileBulkResponse -} - -func (o *PutInfrastructurePublisherupgradeprofilesBulkResponse) GetFourHundred() *shared.FourHundred { - if o == nil { - return nil - } - return o.FourHundred -} - -func (o *PutInfrastructurePublisherupgradeprofilesBulkResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PutInfrastructurePublisherupgradeprofilesBulkResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PutInfrastructurePublisherupgradeprofilesBulkResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PutInfrastructurePublisherupgradeprofilesBulkResponse) GetPublisherUpgradeProfileBulkResponse() *shared.PublisherUpgradeProfileBulkResponse { - if o == nil { - return nil - } - return o.PublisherUpgradeProfileBulkResponse -} diff --git a/internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesupgradeprofileid.go b/internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesupgradeprofileid.go deleted file mode 100644 index 4cf0438..0000000 --- a/internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesupgradeprofileid.go +++ /dev/null @@ -1,115 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -// PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent - flag to skip output except status code -type PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent string - -const ( - PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilentOne PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent = "1" - PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilentZero PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent = "0" -) - -func (e PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent) ToPointer() *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent { - return &e -} - -func (e *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "1": - fallthrough - case "0": - *e = PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent(v) - return nil - default: - return fmt.Errorf("invalid value for PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent: %v", v) - } -} - -type PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest struct { - PublisherUpgradeProfilePutRequest shared.PublisherUpgradeProfilePutRequest `request:"mediaType=application/json"` - // flag to skip output except status code - Silent *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` - // publisher upgrade profile id - UpgradeProfileID int `pathParam:"style=simple,explode=false,name=upgrade_profile_id"` -} - -func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) GetPublisherUpgradeProfilePutRequest() shared.PublisherUpgradeProfilePutRequest { - if o == nil { - return shared.PublisherUpgradeProfilePutRequest{} - } - return o.PublisherUpgradeProfilePutRequest -} - -func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) GetSilent() *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent { - if o == nil { - return nil - } - return o.Silent -} - -func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) GetUpgradeProfileID() int { - if o == nil { - return 0 - } - return o.UpgradeProfileID -} - -type PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse struct { - // Invalid request - FourHundred *shared.FourHundred - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - PublisherUpgradeProfileResponse *shared.PublisherUpgradeProfileResponse -} - -func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetFourHundred() *shared.FourHundred { - if o == nil { - return nil - } - return o.FourHundred -} - -func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetPublisherUpgradeProfileResponse() *shared.PublisherUpgradeProfileResponse { - if o == nil { - return nil - } - return o.PublisherUpgradeProfileResponse -} diff --git a/internal/sdk/pkg/models/operations/putsteeringappsprivateprivateappid.go b/internal/sdk/pkg/models/operations/putsteeringappsprivateprivateappid.go deleted file mode 100644 index a5660e5..0000000 --- a/internal/sdk/pkg/models/operations/putsteeringappsprivateprivateappid.go +++ /dev/null @@ -1,115 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -// PutSteeringAppsPrivatePrivateAppIDQueryParamSilent - flag to skip output except status code -type PutSteeringAppsPrivatePrivateAppIDQueryParamSilent string - -const ( - PutSteeringAppsPrivatePrivateAppIDQueryParamSilentOne PutSteeringAppsPrivatePrivateAppIDQueryParamSilent = "1" - PutSteeringAppsPrivatePrivateAppIDQueryParamSilentZero PutSteeringAppsPrivatePrivateAppIDQueryParamSilent = "0" -) - -func (e PutSteeringAppsPrivatePrivateAppIDQueryParamSilent) ToPointer() *PutSteeringAppsPrivatePrivateAppIDQueryParamSilent { - return &e -} - -func (e *PutSteeringAppsPrivatePrivateAppIDQueryParamSilent) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "1": - fallthrough - case "0": - *e = PutSteeringAppsPrivatePrivateAppIDQueryParamSilent(v) - return nil - default: - return fmt.Errorf("invalid value for PutSteeringAppsPrivatePrivateAppIDQueryParamSilent: %v", v) - } -} - -type PutSteeringAppsPrivatePrivateAppIDRequest struct { - // private apps id - PrivateAppID int `pathParam:"style=simple,explode=false,name=private_app_id"` - PrivateAppsPutRequest shared.PrivateAppsPutRequest `request:"mediaType=application/json"` - // flag to skip output except status code - Silent *PutSteeringAppsPrivatePrivateAppIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` -} - -func (o *PutSteeringAppsPrivatePrivateAppIDRequest) GetPrivateAppID() int { - if o == nil { - return 0 - } - return o.PrivateAppID -} - -func (o *PutSteeringAppsPrivatePrivateAppIDRequest) GetPrivateAppsPutRequest() shared.PrivateAppsPutRequest { - if o == nil { - return shared.PrivateAppsPutRequest{} - } - return o.PrivateAppsPutRequest -} - -func (o *PutSteeringAppsPrivatePrivateAppIDRequest) GetSilent() *PutSteeringAppsPrivatePrivateAppIDQueryParamSilent { - if o == nil { - return nil - } - return o.Silent -} - -type PutSteeringAppsPrivatePrivateAppIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - PrivateAppsResponse *shared.PrivateAppsResponse - // Invalid request - PrivateAppsResponse400 *shared.PrivateAppsResponse400 -} - -func (o *PutSteeringAppsPrivatePrivateAppIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PutSteeringAppsPrivatePrivateAppIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PutSteeringAppsPrivatePrivateAppIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PutSteeringAppsPrivatePrivateAppIDResponse) GetPrivateAppsResponse() *shared.PrivateAppsResponse { - if o == nil { - return nil - } - return o.PrivateAppsResponse -} - -func (o *PutSteeringAppsPrivatePrivateAppIDResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { - if o == nil { - return nil - } - return o.PrivateAppsResponse400 -} diff --git a/internal/sdk/pkg/models/operations/putsteeringappsprivatetagstagid.go b/internal/sdk/pkg/models/operations/putsteeringappsprivatetagstagid.go deleted file mode 100644 index 085527d..0000000 --- a/internal/sdk/pkg/models/operations/putsteeringappsprivatetagstagid.go +++ /dev/null @@ -1,76 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "net/http" -) - -type PutSteeringAppsPrivateTagsTagIDRequest struct { - // tag id - TagID int `pathParam:"style=simple,explode=false,name=tag_id"` - TagRequest shared.TagRequest `request:"mediaType=application/json"` -} - -func (o *PutSteeringAppsPrivateTagsTagIDRequest) GetTagID() int { - if o == nil { - return 0 - } - return o.TagID -} - -func (o *PutSteeringAppsPrivateTagsTagIDRequest) GetTagRequest() shared.TagRequest { - if o == nil { - return shared.TagRequest{} - } - return o.TagRequest -} - -type PutSteeringAppsPrivateTagsTagIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - TagResponse *shared.TagResponse - // Invalid request - TagResponse400 *shared.TagResponse400 -} - -func (o *PutSteeringAppsPrivateTagsTagIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PutSteeringAppsPrivateTagsTagIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PutSteeringAppsPrivateTagsTagIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PutSteeringAppsPrivateTagsTagIDResponse) GetTagResponse() *shared.TagResponse { - if o == nil { - return nil - } - return o.TagResponse -} - -func (o *PutSteeringAppsPrivateTagsTagIDResponse) GetTagResponse400() *shared.TagResponse400 { - if o == nil { - return nil - } - return o.TagResponse400 -} diff --git a/internal/sdk/pkg/models/shared/fourhundred.go b/internal/sdk/pkg/models/shared/fourhundred.go deleted file mode 100644 index 2ff55ca..0000000 --- a/internal/sdk/pkg/models/shared/fourhundred.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type FourHundred struct { - Message *string `json:"message,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *FourHundred) GetMessage() *string { - if o == nil { - return nil - } - return o.Message -} - -func (o *FourHundred) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/grepatchresponse200.go b/internal/sdk/pkg/models/shared/grepatchresponse200.go deleted file mode 100644 index 5621184..0000000 --- a/internal/sdk/pkg/models/shared/grepatchresponse200.go +++ /dev/null @@ -1,30 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type GrePatchResponse200 struct { - Data []GreTunnelResultItem `json:"data,omitempty"` - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *GrePatchResponse200) GetData() []GreTunnelResultItem { - if o == nil { - return nil - } - return o.Data -} - -func (o *GrePatchResponse200) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *GrePatchResponse200) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/grepopresponse200.go b/internal/sdk/pkg/models/shared/grepopresponse200.go deleted file mode 100644 index 9e25c66..0000000 --- a/internal/sdk/pkg/models/shared/grepopresponse200.go +++ /dev/null @@ -1,30 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type GrePopResponse200 struct { - Result []GrePopResultItem `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` - Total *int64 `json:"total,omitempty"` -} - -func (o *GrePopResponse200) GetResult() []GrePopResultItem { - if o == nil { - return nil - } - return o.Result -} - -func (o *GrePopResponse200) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} - -func (o *GrePopResponse200) GetTotal() *int64 { - if o == nil { - return nil - } - return o.Total -} diff --git a/internal/sdk/pkg/models/shared/grepopresultitem.go b/internal/sdk/pkg/models/shared/grepopresultitem.go deleted file mode 100644 index 5c603da..0000000 --- a/internal/sdk/pkg/models/shared/grepopresultitem.go +++ /dev/null @@ -1,70 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type GrePopResultItem struct { - Acceptingtunnels *bool `json:"acceptingtunnels,omitempty"` - Distance *string `json:"distance,omitempty"` - Gateway *string `json:"gateway,omitempty"` - ID *string `json:"id,omitempty"` - Location *string `json:"location,omitempty"` - Name *string `json:"name,omitempty"` - Probeip *string `json:"probeip,omitempty"` - Region *string `json:"region,omitempty"` -} - -func (o *GrePopResultItem) GetAcceptingtunnels() *bool { - if o == nil { - return nil - } - return o.Acceptingtunnels -} - -func (o *GrePopResultItem) GetDistance() *string { - if o == nil { - return nil - } - return o.Distance -} - -func (o *GrePopResultItem) GetGateway() *string { - if o == nil { - return nil - } - return o.Gateway -} - -func (o *GrePopResultItem) GetID() *string { - if o == nil { - return nil - } - return o.ID -} - -func (o *GrePopResultItem) GetLocation() *string { - if o == nil { - return nil - } - return o.Location -} - -func (o *GrePopResultItem) GetName() *string { - if o == nil { - return nil - } - return o.Name -} - -func (o *GrePopResultItem) GetProbeip() *string { - if o == nil { - return nil - } - return o.Probeip -} - -func (o *GrePopResultItem) GetRegion() *string { - if o == nil { - return nil - } - return o.Region -} diff --git a/internal/sdk/pkg/models/shared/greresponse200.go b/internal/sdk/pkg/models/shared/greresponse200.go deleted file mode 100644 index 4ce08f0..0000000 --- a/internal/sdk/pkg/models/shared/greresponse200.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type GreResponse200 struct { - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *GreResponse200) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *GreResponse200) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/greresponse201.go b/internal/sdk/pkg/models/shared/greresponse201.go deleted file mode 100644 index f62e971..0000000 --- a/internal/sdk/pkg/models/shared/greresponse201.go +++ /dev/null @@ -1,30 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type GreResponse201 struct { - Data []GreTunnelResultItem `json:"data,omitempty"` - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *GreResponse201) GetData() []GreTunnelResultItem { - if o == nil { - return nil - } - return o.Data -} - -func (o *GreResponse201) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *GreResponse201) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/greresponse400.go b/internal/sdk/pkg/models/shared/greresponse400.go deleted file mode 100644 index 636c044..0000000 --- a/internal/sdk/pkg/models/shared/greresponse400.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type GreResponse400 struct { - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *GreResponse400) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *GreResponse400) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/greresponse403.go b/internal/sdk/pkg/models/shared/greresponse403.go deleted file mode 100644 index 6dc6c3e..0000000 --- a/internal/sdk/pkg/models/shared/greresponse403.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type GreResponse403 struct { - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *GreResponse403) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *GreResponse403) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/greresponse404.go b/internal/sdk/pkg/models/shared/greresponse404.go deleted file mode 100644 index 9056ba4..0000000 --- a/internal/sdk/pkg/models/shared/greresponse404.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type GreResponse404 struct { - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *GreResponse404) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *GreResponse404) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/greresponse405.go b/internal/sdk/pkg/models/shared/greresponse405.go deleted file mode 100644 index d127451..0000000 --- a/internal/sdk/pkg/models/shared/greresponse405.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type GreResponse405 struct { - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *GreResponse405) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *GreResponse405) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/greresponse409.go b/internal/sdk/pkg/models/shared/greresponse409.go deleted file mode 100644 index 2f316f5..0000000 --- a/internal/sdk/pkg/models/shared/greresponse409.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type GreResponse409 struct { - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *GreResponse409) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *GreResponse409) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/greresponse429.go b/internal/sdk/pkg/models/shared/greresponse429.go deleted file mode 100644 index b00b62c..0000000 --- a/internal/sdk/pkg/models/shared/greresponse429.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type GreResponse429 struct { - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *GreResponse429) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *GreResponse429) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/greresponse500.go b/internal/sdk/pkg/models/shared/greresponse500.go deleted file mode 100644 index 4ca9380..0000000 --- a/internal/sdk/pkg/models/shared/greresponse500.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type GreResponse500 struct { - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *GreResponse500) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *GreResponse500) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/gretunnelpopresultitem.go b/internal/sdk/pkg/models/shared/gretunnelpopresultitem.go deleted file mode 100644 index bc72651..0000000 --- a/internal/sdk/pkg/models/shared/gretunnelpopresultitem.go +++ /dev/null @@ -1,78 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type GreTunnelPopResultItem struct { - Gateway *string `json:"gateway,omitempty"` - KeepaliveLast *string `json:"keepaliveLast,omitempty"` - KeepaliveStatus *string `json:"keepaliveStatus,omitempty"` - Name *string `json:"name,omitempty"` - Primary *bool `json:"primary,omitempty"` - Probeip *string `json:"probeip,omitempty"` - Throughput *string `json:"throughput,omitempty"` - UsertrafficLast *string `json:"usertrafficLast,omitempty"` - UsertrafficStatus *string `json:"usertrafficStatus,omitempty"` -} - -func (o *GreTunnelPopResultItem) GetGateway() *string { - if o == nil { - return nil - } - return o.Gateway -} - -func (o *GreTunnelPopResultItem) GetKeepaliveLast() *string { - if o == nil { - return nil - } - return o.KeepaliveLast -} - -func (o *GreTunnelPopResultItem) GetKeepaliveStatus() *string { - if o == nil { - return nil - } - return o.KeepaliveStatus -} - -func (o *GreTunnelPopResultItem) GetName() *string { - if o == nil { - return nil - } - return o.Name -} - -func (o *GreTunnelPopResultItem) GetPrimary() *bool { - if o == nil { - return nil - } - return o.Primary -} - -func (o *GreTunnelPopResultItem) GetProbeip() *string { - if o == nil { - return nil - } - return o.Probeip -} - -func (o *GreTunnelPopResultItem) GetThroughput() *string { - if o == nil { - return nil - } - return o.Throughput -} - -func (o *GreTunnelPopResultItem) GetUsertrafficLast() *string { - if o == nil { - return nil - } - return o.UsertrafficLast -} - -func (o *GreTunnelPopResultItem) GetUsertrafficStatus() *string { - if o == nil { - return nil - } - return o.UsertrafficStatus -} diff --git a/internal/sdk/pkg/models/shared/gretunnelrequestpatch.go b/internal/sdk/pkg/models/shared/gretunnelrequestpatch.go deleted file mode 100644 index f934dfe..0000000 --- a/internal/sdk/pkg/models/shared/gretunnelrequestpatch.go +++ /dev/null @@ -1,108 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type Xff struct { - Enable *bool `json:"enable,omitempty"` - Iplist []string `json:"iplist,omitempty"` -} - -func (o *Xff) GetEnable() *bool { - if o == nil { - return nil - } - return o.Enable -} - -func (o *Xff) GetIplist() []string { - if o == nil { - return nil - } - return o.Iplist -} - -type Options struct { - Xff *Xff `json:"xff,omitempty"` -} - -func (o *Options) GetXff() *Xff { - if o == nil { - return nil - } - return o.Xff -} - -type GreTunnelRequestPatch struct { - Enable *bool `json:"enable,omitempty"` - Notes *string `json:"notes,omitempty"` - Options *Options `json:"options,omitempty"` - Pops []string `json:"pops,omitempty"` - Site *string `json:"site,omitempty"` - Sourcetype *string `json:"sourcetype,omitempty"` - Srcipidentity *string `json:"srcipidentity,omitempty"` - Template *string `json:"template,omitempty"` - Vendor *string `json:"vendor,omitempty"` -} - -func (o *GreTunnelRequestPatch) GetEnable() *bool { - if o == nil { - return nil - } - return o.Enable -} - -func (o *GreTunnelRequestPatch) GetNotes() *string { - if o == nil { - return nil - } - return o.Notes -} - -func (o *GreTunnelRequestPatch) GetOptions() *Options { - if o == nil { - return nil - } - return o.Options -} - -func (o *GreTunnelRequestPatch) GetPops() []string { - if o == nil { - return nil - } - return o.Pops -} - -func (o *GreTunnelRequestPatch) GetSite() *string { - if o == nil { - return nil - } - return o.Site -} - -func (o *GreTunnelRequestPatch) GetSourcetype() *string { - if o == nil { - return nil - } - return o.Sourcetype -} - -func (o *GreTunnelRequestPatch) GetSrcipidentity() *string { - if o == nil { - return nil - } - return o.Srcipidentity -} - -func (o *GreTunnelRequestPatch) GetTemplate() *string { - if o == nil { - return nil - } - return o.Template -} - -func (o *GreTunnelRequestPatch) GetVendor() *string { - if o == nil { - return nil - } - return o.Vendor -} diff --git a/internal/sdk/pkg/models/shared/gretunnelrequestpost.go b/internal/sdk/pkg/models/shared/gretunnelrequestpost.go deleted file mode 100644 index 3f2b3f6..0000000 --- a/internal/sdk/pkg/models/shared/gretunnelrequestpost.go +++ /dev/null @@ -1,108 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type GreTunnelRequestPostXff struct { - Enable *bool `json:"enable,omitempty"` - Iplist []string `json:"iplist,omitempty"` -} - -func (o *GreTunnelRequestPostXff) GetEnable() *bool { - if o == nil { - return nil - } - return o.Enable -} - -func (o *GreTunnelRequestPostXff) GetIplist() []string { - if o == nil { - return nil - } - return o.Iplist -} - -type GreTunnelRequestPostOptions struct { - Xff *GreTunnelRequestPostXff `json:"xff,omitempty"` -} - -func (o *GreTunnelRequestPostOptions) GetXff() *GreTunnelRequestPostXff { - if o == nil { - return nil - } - return o.Xff -} - -type GreTunnelRequestPost struct { - Enable *bool `json:"enable,omitempty"` - Notes *string `json:"notes,omitempty"` - Options *GreTunnelRequestPostOptions `json:"options,omitempty"` - Pops []string `json:"pops,omitempty"` - Site *string `json:"site,omitempty"` - Sourcetype *string `json:"sourcetype,omitempty"` - Srcipidentity *string `json:"srcipidentity,omitempty"` - Template *string `json:"template,omitempty"` - Vendor *string `json:"vendor,omitempty"` -} - -func (o *GreTunnelRequestPost) GetEnable() *bool { - if o == nil { - return nil - } - return o.Enable -} - -func (o *GreTunnelRequestPost) GetNotes() *string { - if o == nil { - return nil - } - return o.Notes -} - -func (o *GreTunnelRequestPost) GetOptions() *GreTunnelRequestPostOptions { - if o == nil { - return nil - } - return o.Options -} - -func (o *GreTunnelRequestPost) GetPops() []string { - if o == nil { - return nil - } - return o.Pops -} - -func (o *GreTunnelRequestPost) GetSite() *string { - if o == nil { - return nil - } - return o.Site -} - -func (o *GreTunnelRequestPost) GetSourcetype() *string { - if o == nil { - return nil - } - return o.Sourcetype -} - -func (o *GreTunnelRequestPost) GetSrcipidentity() *string { - if o == nil { - return nil - } - return o.Srcipidentity -} - -func (o *GreTunnelRequestPost) GetTemplate() *string { - if o == nil { - return nil - } - return o.Template -} - -func (o *GreTunnelRequestPost) GetVendor() *string { - if o == nil { - return nil - } - return o.Vendor -} diff --git a/internal/sdk/pkg/models/shared/gretunnelresponse200.go b/internal/sdk/pkg/models/shared/gretunnelresponse200.go deleted file mode 100644 index c8eee6b..0000000 --- a/internal/sdk/pkg/models/shared/gretunnelresponse200.go +++ /dev/null @@ -1,30 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type GreTunnelResponse200 struct { - Result []GreTunnelResultItem `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` - Total *int64 `json:"total,omitempty"` -} - -func (o *GreTunnelResponse200) GetResult() []GreTunnelResultItem { - if o == nil { - return nil - } - return o.Result -} - -func (o *GreTunnelResponse200) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} - -func (o *GreTunnelResponse200) GetTotal() *int64 { - if o == nil { - return nil - } - return o.Total -} diff --git a/internal/sdk/pkg/models/shared/gretunnelresultitem.go b/internal/sdk/pkg/models/shared/gretunnelresultitem.go deleted file mode 100644 index 7459758..0000000 --- a/internal/sdk/pkg/models/shared/gretunnelresultitem.go +++ /dev/null @@ -1,124 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type GreTunnelResultItemXff struct { - Enabled *bool `json:"enabled,omitempty"` - Iplist []string `json:"iplist,omitempty"` -} - -func (o *GreTunnelResultItemXff) GetEnabled() *bool { - if o == nil { - return nil - } - return o.Enabled -} - -func (o *GreTunnelResultItemXff) GetIplist() []string { - if o == nil { - return nil - } - return o.Iplist -} - -type GreTunnelResultItemOptions struct { - Xff *GreTunnelResultItemXff `json:"xff,omitempty"` -} - -func (o *GreTunnelResultItemOptions) GetXff() *GreTunnelResultItemXff { - if o == nil { - return nil - } - return o.Xff -} - -type GreTunnelResultItem struct { - Enabled *bool `json:"enabled,omitempty"` - ID *int64 `json:"id,omitempty"` - Notes *string `json:"notes,omitempty"` - Options *GreTunnelResultItemOptions `json:"options,omitempty"` - Pops []GreTunnelPopResultItem `json:"pops,omitempty"` - Site *string `json:"site,omitempty"` - Sourcetype *string `json:"sourcetype,omitempty"` - Srcipidentity *string `json:"srcipidentity,omitempty"` - Template *string `json:"template,omitempty"` - Vendor *string `json:"vendor,omitempty"` - Version *int64 `json:"version,omitempty"` -} - -func (o *GreTunnelResultItem) GetEnabled() *bool { - if o == nil { - return nil - } - return o.Enabled -} - -func (o *GreTunnelResultItem) GetID() *int64 { - if o == nil { - return nil - } - return o.ID -} - -func (o *GreTunnelResultItem) GetNotes() *string { - if o == nil { - return nil - } - return o.Notes -} - -func (o *GreTunnelResultItem) GetOptions() *GreTunnelResultItemOptions { - if o == nil { - return nil - } - return o.Options -} - -func (o *GreTunnelResultItem) GetPops() []GreTunnelPopResultItem { - if o == nil { - return nil - } - return o.Pops -} - -func (o *GreTunnelResultItem) GetSite() *string { - if o == nil { - return nil - } - return o.Site -} - -func (o *GreTunnelResultItem) GetSourcetype() *string { - if o == nil { - return nil - } - return o.Sourcetype -} - -func (o *GreTunnelResultItem) GetSrcipidentity() *string { - if o == nil { - return nil - } - return o.Srcipidentity -} - -func (o *GreTunnelResultItem) GetTemplate() *string { - if o == nil { - return nil - } - return o.Template -} - -func (o *GreTunnelResultItem) GetVendor() *string { - if o == nil { - return nil - } - return o.Vendor -} - -func (o *GreTunnelResultItem) GetVersion() *int64 { - if o == nil { - return nil - } - return o.Version -} diff --git a/internal/sdk/pkg/models/shared/ipsecpatchresponse200.go b/internal/sdk/pkg/models/shared/ipsecpatchresponse200.go deleted file mode 100644 index 078d98e..0000000 --- a/internal/sdk/pkg/models/shared/ipsecpatchresponse200.go +++ /dev/null @@ -1,30 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type IpsecPatchResponse200 struct { - Data []IpsecTunnelResultItem `json:"data,omitempty"` - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *IpsecPatchResponse200) GetData() []IpsecTunnelResultItem { - if o == nil { - return nil - } - return o.Data -} - -func (o *IpsecPatchResponse200) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *IpsecPatchResponse200) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/ipsecpopresponse200.go b/internal/sdk/pkg/models/shared/ipsecpopresponse200.go deleted file mode 100644 index f0b3795..0000000 --- a/internal/sdk/pkg/models/shared/ipsecpopresponse200.go +++ /dev/null @@ -1,30 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type IpsecPopResponse200 struct { - Result []IpsecPopResultItem `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` - Total *int64 `json:"total,omitempty"` -} - -func (o *IpsecPopResponse200) GetResult() []IpsecPopResultItem { - if o == nil { - return nil - } - return o.Result -} - -func (o *IpsecPopResponse200) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} - -func (o *IpsecPopResponse200) GetTotal() *int64 { - if o == nil { - return nil - } - return o.Total -} diff --git a/internal/sdk/pkg/models/shared/ipsecpopresultitem.go b/internal/sdk/pkg/models/shared/ipsecpopresultitem.go deleted file mode 100644 index ff4a2b8..0000000 --- a/internal/sdk/pkg/models/shared/ipsecpopresultitem.go +++ /dev/null @@ -1,199 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type Phase1 struct { - Dhgroup *string `json:"dhgroup,omitempty"` - Dpd *bool `json:"dpd,omitempty"` - Encryptionalgo *string `json:"encryptionalgo,omitempty"` - Ikeversion *string `json:"ikeversion,omitempty"` - Integrityalgo *string `json:"integrityalgo,omitempty"` - Salifetime *string `json:"salifetime,omitempty"` -} - -func (o *Phase1) GetDhgroup() *string { - if o == nil { - return nil - } - return o.Dhgroup -} - -func (o *Phase1) GetDpd() *bool { - if o == nil { - return nil - } - return o.Dpd -} - -func (o *Phase1) GetEncryptionalgo() *string { - if o == nil { - return nil - } - return o.Encryptionalgo -} - -func (o *Phase1) GetIkeversion() *string { - if o == nil { - return nil - } - return o.Ikeversion -} - -func (o *Phase1) GetIntegrityalgo() *string { - if o == nil { - return nil - } - return o.Integrityalgo -} - -func (o *Phase1) GetSalifetime() *string { - if o == nil { - return nil - } - return o.Salifetime -} - -type Phase2 struct { - Dhgroup *string `json:"dhgroup,omitempty"` - Encryptionalgo *string `json:"encryptionalgo,omitempty"` - Integrityalgo *string `json:"integrityalgo,omitempty"` - Pfs *bool `json:"pfs,omitempty"` - Salifetime *string `json:"salifetime,omitempty"` -} - -func (o *Phase2) GetDhgroup() *string { - if o == nil { - return nil - } - return o.Dhgroup -} - -func (o *Phase2) GetEncryptionalgo() *string { - if o == nil { - return nil - } - return o.Encryptionalgo -} - -func (o *Phase2) GetIntegrityalgo() *string { - if o == nil { - return nil - } - return o.Integrityalgo -} - -func (o *Phase2) GetPfs() *bool { - if o == nil { - return nil - } - return o.Pfs -} - -func (o *Phase2) GetSalifetime() *string { - if o == nil { - return nil - } - return o.Salifetime -} - -type IpsecPopResultItemOptions struct { - Phase1 *Phase1 `json:"phase1,omitempty"` - Phase2 *Phase2 `json:"phase2,omitempty"` -} - -func (o *IpsecPopResultItemOptions) GetPhase1() *Phase1 { - if o == nil { - return nil - } - return o.Phase1 -} - -func (o *IpsecPopResultItemOptions) GetPhase2() *Phase2 { - if o == nil { - return nil - } - return o.Phase2 -} - -type IpsecPopResultItem struct { - Acceptingtunnels *bool `json:"acceptingtunnels,omitempty"` - Bandwidth *string `json:"bandwidth,omitempty"` - Distance *string `json:"distance,omitempty"` - Gateway *string `json:"gateway,omitempty"` - ID *string `json:"id,omitempty"` - Location *string `json:"location,omitempty"` - Name *string `json:"name,omitempty"` - Options *IpsecPopResultItemOptions `json:"options,omitempty"` - Probeip *string `json:"probeip,omitempty"` - Region *string `json:"region,omitempty"` -} - -func (o *IpsecPopResultItem) GetAcceptingtunnels() *bool { - if o == nil { - return nil - } - return o.Acceptingtunnels -} - -func (o *IpsecPopResultItem) GetBandwidth() *string { - if o == nil { - return nil - } - return o.Bandwidth -} - -func (o *IpsecPopResultItem) GetDistance() *string { - if o == nil { - return nil - } - return o.Distance -} - -func (o *IpsecPopResultItem) GetGateway() *string { - if o == nil { - return nil - } - return o.Gateway -} - -func (o *IpsecPopResultItem) GetID() *string { - if o == nil { - return nil - } - return o.ID -} - -func (o *IpsecPopResultItem) GetLocation() *string { - if o == nil { - return nil - } - return o.Location -} - -func (o *IpsecPopResultItem) GetName() *string { - if o == nil { - return nil - } - return o.Name -} - -func (o *IpsecPopResultItem) GetOptions() *IpsecPopResultItemOptions { - if o == nil { - return nil - } - return o.Options -} - -func (o *IpsecPopResultItem) GetProbeip() *string { - if o == nil { - return nil - } - return o.Probeip -} - -func (o *IpsecPopResultItem) GetRegion() *string { - if o == nil { - return nil - } - return o.Region -} diff --git a/internal/sdk/pkg/models/shared/ipsecresponse200.go b/internal/sdk/pkg/models/shared/ipsecresponse200.go deleted file mode 100644 index 8522be1..0000000 --- a/internal/sdk/pkg/models/shared/ipsecresponse200.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type IpsecResponse200 struct { - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *IpsecResponse200) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *IpsecResponse200) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/ipsecresponse201.go b/internal/sdk/pkg/models/shared/ipsecresponse201.go deleted file mode 100644 index 935b118..0000000 --- a/internal/sdk/pkg/models/shared/ipsecresponse201.go +++ /dev/null @@ -1,30 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type IpsecResponse201 struct { - Data []IpsecTunnelResultItem `json:"data,omitempty"` - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *IpsecResponse201) GetData() []IpsecTunnelResultItem { - if o == nil { - return nil - } - return o.Data -} - -func (o *IpsecResponse201) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *IpsecResponse201) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/ipsecresponse400.go b/internal/sdk/pkg/models/shared/ipsecresponse400.go deleted file mode 100644 index 1eb3043..0000000 --- a/internal/sdk/pkg/models/shared/ipsecresponse400.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type IpsecResponse400 struct { - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *IpsecResponse400) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *IpsecResponse400) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/ipsecresponse403.go b/internal/sdk/pkg/models/shared/ipsecresponse403.go deleted file mode 100644 index 6cb9923..0000000 --- a/internal/sdk/pkg/models/shared/ipsecresponse403.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type IpsecResponse403 struct { - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *IpsecResponse403) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *IpsecResponse403) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/ipsecresponse404.go b/internal/sdk/pkg/models/shared/ipsecresponse404.go deleted file mode 100644 index 6a9cd5b..0000000 --- a/internal/sdk/pkg/models/shared/ipsecresponse404.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type IpsecResponse404 struct { - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *IpsecResponse404) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *IpsecResponse404) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/ipsecresponse405.go b/internal/sdk/pkg/models/shared/ipsecresponse405.go deleted file mode 100644 index 73ae972..0000000 --- a/internal/sdk/pkg/models/shared/ipsecresponse405.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type IpsecResponse405 struct { - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *IpsecResponse405) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *IpsecResponse405) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/ipsecresponse409.go b/internal/sdk/pkg/models/shared/ipsecresponse409.go deleted file mode 100644 index eeaf131..0000000 --- a/internal/sdk/pkg/models/shared/ipsecresponse409.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type IpsecResponse409 struct { - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *IpsecResponse409) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *IpsecResponse409) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/ipsecresponse429.go b/internal/sdk/pkg/models/shared/ipsecresponse429.go deleted file mode 100644 index ed1133c..0000000 --- a/internal/sdk/pkg/models/shared/ipsecresponse429.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type IpsecResponse429 struct { - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *IpsecResponse429) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *IpsecResponse429) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/ipsecresponse500.go b/internal/sdk/pkg/models/shared/ipsecresponse500.go deleted file mode 100644 index f36553d..0000000 --- a/internal/sdk/pkg/models/shared/ipsecresponse500.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type IpsecResponse500 struct { - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *IpsecResponse500) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *IpsecResponse500) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/ipsectunnelpopresultitem.go b/internal/sdk/pkg/models/shared/ipsectunnelpopresultitem.go deleted file mode 100644 index 4515b5f..0000000 --- a/internal/sdk/pkg/models/shared/ipsectunnelpopresultitem.go +++ /dev/null @@ -1,62 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type IpsecTunnelPopResultItem struct { - Gateway *string `json:"gateway,omitempty"` - Name *string `json:"name,omitempty"` - Primary *bool `json:"primary,omitempty"` - Probeip *string `json:"probeip,omitempty"` - Since *string `json:"since,omitempty"` - Status *string `json:"status,omitempty"` - Throughput *string `json:"throughput,omitempty"` -} - -func (o *IpsecTunnelPopResultItem) GetGateway() *string { - if o == nil { - return nil - } - return o.Gateway -} - -func (o *IpsecTunnelPopResultItem) GetName() *string { - if o == nil { - return nil - } - return o.Name -} - -func (o *IpsecTunnelPopResultItem) GetPrimary() *bool { - if o == nil { - return nil - } - return o.Primary -} - -func (o *IpsecTunnelPopResultItem) GetProbeip() *string { - if o == nil { - return nil - } - return o.Probeip -} - -func (o *IpsecTunnelPopResultItem) GetSince() *string { - if o == nil { - return nil - } - return o.Since -} - -func (o *IpsecTunnelPopResultItem) GetStatus() *string { - if o == nil { - return nil - } - return o.Status -} - -func (o *IpsecTunnelPopResultItem) GetThroughput() *string { - if o == nil { - return nil - } - return o.Throughput -} diff --git a/internal/sdk/pkg/models/shared/ipsectunnelrequestpatch.go b/internal/sdk/pkg/models/shared/ipsectunnelrequestpatch.go deleted file mode 100644 index e86785d..0000000 --- a/internal/sdk/pkg/models/shared/ipsectunnelrequestpatch.go +++ /dev/null @@ -1,156 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type IpsecTunnelRequestPatchXff struct { - Enable *bool `json:"enable,omitempty"` - Iplist []string `json:"iplist,omitempty"` -} - -func (o *IpsecTunnelRequestPatchXff) GetEnable() *bool { - if o == nil { - return nil - } - return o.Enable -} - -func (o *IpsecTunnelRequestPatchXff) GetIplist() []string { - if o == nil { - return nil - } - return o.Iplist -} - -type IpsecTunnelRequestPatchOptions struct { - Reauth *bool `json:"reauth,omitempty"` - Rekey *bool `json:"rekey,omitempty"` - Xff *IpsecTunnelRequestPatchXff `json:"xff,omitempty"` -} - -func (o *IpsecTunnelRequestPatchOptions) GetReauth() *bool { - if o == nil { - return nil - } - return o.Reauth -} - -func (o *IpsecTunnelRequestPatchOptions) GetRekey() *bool { - if o == nil { - return nil - } - return o.Rekey -} - -func (o *IpsecTunnelRequestPatchOptions) GetXff() *IpsecTunnelRequestPatchXff { - if o == nil { - return nil - } - return o.Xff -} - -type IpsecTunnelRequestPatch struct { - Bandwidth *int64 `json:"bandwidth,omitempty"` - Enable *bool `json:"enable,omitempty"` - Encryption *string `json:"encryption,omitempty"` - Notes *string `json:"notes,omitempty"` - Options *IpsecTunnelRequestPatchOptions `json:"options,omitempty"` - Pops []string `json:"pops,omitempty"` - Psk *string `json:"psk,omitempty"` - Site *string `json:"site,omitempty"` - Sourcetype *string `json:"sourcetype,omitempty"` - Srcidentity *string `json:"srcidentity,omitempty"` - Srcipidentity *string `json:"srcipidentity,omitempty"` - Template *string `json:"template,omitempty"` - Vendor *string `json:"vendor,omitempty"` -} - -func (o *IpsecTunnelRequestPatch) GetBandwidth() *int64 { - if o == nil { - return nil - } - return o.Bandwidth -} - -func (o *IpsecTunnelRequestPatch) GetEnable() *bool { - if o == nil { - return nil - } - return o.Enable -} - -func (o *IpsecTunnelRequestPatch) GetEncryption() *string { - if o == nil { - return nil - } - return o.Encryption -} - -func (o *IpsecTunnelRequestPatch) GetNotes() *string { - if o == nil { - return nil - } - return o.Notes -} - -func (o *IpsecTunnelRequestPatch) GetOptions() *IpsecTunnelRequestPatchOptions { - if o == nil { - return nil - } - return o.Options -} - -func (o *IpsecTunnelRequestPatch) GetPops() []string { - if o == nil { - return nil - } - return o.Pops -} - -func (o *IpsecTunnelRequestPatch) GetPsk() *string { - if o == nil { - return nil - } - return o.Psk -} - -func (o *IpsecTunnelRequestPatch) GetSite() *string { - if o == nil { - return nil - } - return o.Site -} - -func (o *IpsecTunnelRequestPatch) GetSourcetype() *string { - if o == nil { - return nil - } - return o.Sourcetype -} - -func (o *IpsecTunnelRequestPatch) GetSrcidentity() *string { - if o == nil { - return nil - } - return o.Srcidentity -} - -func (o *IpsecTunnelRequestPatch) GetSrcipidentity() *string { - if o == nil { - return nil - } - return o.Srcipidentity -} - -func (o *IpsecTunnelRequestPatch) GetTemplate() *string { - if o == nil { - return nil - } - return o.Template -} - -func (o *IpsecTunnelRequestPatch) GetVendor() *string { - if o == nil { - return nil - } - return o.Vendor -} diff --git a/internal/sdk/pkg/models/shared/ipsectunnelrequestpost.go b/internal/sdk/pkg/models/shared/ipsectunnelrequestpost.go deleted file mode 100644 index 9d0f6f6..0000000 --- a/internal/sdk/pkg/models/shared/ipsectunnelrequestpost.go +++ /dev/null @@ -1,156 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type IpsecTunnelRequestPostXff struct { - Enable *bool `json:"enable,omitempty"` - Iplist []string `json:"iplist,omitempty"` -} - -func (o *IpsecTunnelRequestPostXff) GetEnable() *bool { - if o == nil { - return nil - } - return o.Enable -} - -func (o *IpsecTunnelRequestPostXff) GetIplist() []string { - if o == nil { - return nil - } - return o.Iplist -} - -type IpsecTunnelRequestPostOptions struct { - Reauth *bool `json:"reauth,omitempty"` - Rekey *bool `json:"rekey,omitempty"` - Xff *IpsecTunnelRequestPostXff `json:"xff,omitempty"` -} - -func (o *IpsecTunnelRequestPostOptions) GetReauth() *bool { - if o == nil { - return nil - } - return o.Reauth -} - -func (o *IpsecTunnelRequestPostOptions) GetRekey() *bool { - if o == nil { - return nil - } - return o.Rekey -} - -func (o *IpsecTunnelRequestPostOptions) GetXff() *IpsecTunnelRequestPostXff { - if o == nil { - return nil - } - return o.Xff -} - -type IpsecTunnelRequestPost struct { - Bandwidth *int64 `json:"bandwidth,omitempty"` - Enable *bool `json:"enable,omitempty"` - Encryption *string `json:"encryption,omitempty"` - Notes *string `json:"notes,omitempty"` - Options *IpsecTunnelRequestPostOptions `json:"options,omitempty"` - Pops []string `json:"pops,omitempty"` - Psk *string `json:"psk,omitempty"` - Site *string `json:"site,omitempty"` - Sourcetype *string `json:"sourcetype,omitempty"` - Srcidentity *string `json:"srcidentity,omitempty"` - Srcipidentity *string `json:"srcipidentity,omitempty"` - Template *string `json:"template,omitempty"` - Vendor *string `json:"vendor,omitempty"` -} - -func (o *IpsecTunnelRequestPost) GetBandwidth() *int64 { - if o == nil { - return nil - } - return o.Bandwidth -} - -func (o *IpsecTunnelRequestPost) GetEnable() *bool { - if o == nil { - return nil - } - return o.Enable -} - -func (o *IpsecTunnelRequestPost) GetEncryption() *string { - if o == nil { - return nil - } - return o.Encryption -} - -func (o *IpsecTunnelRequestPost) GetNotes() *string { - if o == nil { - return nil - } - return o.Notes -} - -func (o *IpsecTunnelRequestPost) GetOptions() *IpsecTunnelRequestPostOptions { - if o == nil { - return nil - } - return o.Options -} - -func (o *IpsecTunnelRequestPost) GetPops() []string { - if o == nil { - return nil - } - return o.Pops -} - -func (o *IpsecTunnelRequestPost) GetPsk() *string { - if o == nil { - return nil - } - return o.Psk -} - -func (o *IpsecTunnelRequestPost) GetSite() *string { - if o == nil { - return nil - } - return o.Site -} - -func (o *IpsecTunnelRequestPost) GetSourcetype() *string { - if o == nil { - return nil - } - return o.Sourcetype -} - -func (o *IpsecTunnelRequestPost) GetSrcidentity() *string { - if o == nil { - return nil - } - return o.Srcidentity -} - -func (o *IpsecTunnelRequestPost) GetSrcipidentity() *string { - if o == nil { - return nil - } - return o.Srcipidentity -} - -func (o *IpsecTunnelRequestPost) GetTemplate() *string { - if o == nil { - return nil - } - return o.Template -} - -func (o *IpsecTunnelRequestPost) GetVendor() *string { - if o == nil { - return nil - } - return o.Vendor -} diff --git a/internal/sdk/pkg/models/shared/ipsectunnelresponse200.go b/internal/sdk/pkg/models/shared/ipsectunnelresponse200.go deleted file mode 100644 index fb42afa..0000000 --- a/internal/sdk/pkg/models/shared/ipsectunnelresponse200.go +++ /dev/null @@ -1,30 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type IpsecTunnelResponse200 struct { - Result []IpsecTunnelResultItem `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` - Total *int64 `json:"total,omitempty"` -} - -func (o *IpsecTunnelResponse200) GetResult() []IpsecTunnelResultItem { - if o == nil { - return nil - } - return o.Result -} - -func (o *IpsecTunnelResponse200) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} - -func (o *IpsecTunnelResponse200) GetTotal() *int64 { - if o == nil { - return nil - } - return o.Total -} diff --git a/internal/sdk/pkg/models/shared/ipsectunnelresultitem.go b/internal/sdk/pkg/models/shared/ipsectunnelresultitem.go deleted file mode 100644 index dc8b99d..0000000 --- a/internal/sdk/pkg/models/shared/ipsectunnelresultitem.go +++ /dev/null @@ -1,164 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type IpsecTunnelResultItemXff struct { - Enabled *bool `json:"enabled,omitempty"` - Iplist []string `json:"iplist,omitempty"` -} - -func (o *IpsecTunnelResultItemXff) GetEnabled() *bool { - if o == nil { - return nil - } - return o.Enabled -} - -func (o *IpsecTunnelResultItemXff) GetIplist() []string { - if o == nil { - return nil - } - return o.Iplist -} - -type IpsecTunnelResultItemOptions struct { - Reauth *bool `json:"reauth,omitempty"` - Rekey *bool `json:"rekey,omitempty"` - Xff *IpsecTunnelResultItemXff `json:"xff,omitempty"` -} - -func (o *IpsecTunnelResultItemOptions) GetReauth() *bool { - if o == nil { - return nil - } - return o.Reauth -} - -func (o *IpsecTunnelResultItemOptions) GetRekey() *bool { - if o == nil { - return nil - } - return o.Rekey -} - -func (o *IpsecTunnelResultItemOptions) GetXff() *IpsecTunnelResultItemXff { - if o == nil { - return nil - } - return o.Xff -} - -type IpsecTunnelResultItem struct { - Bandwidth *int64 `json:"bandwidth,omitempty"` - Enabled *bool `json:"enabled,omitempty"` - Encryption *string `json:"encryption,omitempty"` - ID *int64 `json:"id,omitempty"` - Notes *string `json:"notes,omitempty"` - Options *IpsecTunnelResultItemOptions `json:"options,omitempty"` - Pops []IpsecTunnelPopResultItem `json:"pops,omitempty"` - Site *string `json:"site,omitempty"` - Sourcetype *string `json:"sourcetype,omitempty"` - Srcidentity *string `json:"srcidentity,omitempty"` - Srcipidentity *string `json:"srcipidentity,omitempty"` - Template *string `json:"template,omitempty"` - Vendor *string `json:"vendor,omitempty"` - Version *int64 `json:"version,omitempty"` -} - -func (o *IpsecTunnelResultItem) GetBandwidth() *int64 { - if o == nil { - return nil - } - return o.Bandwidth -} - -func (o *IpsecTunnelResultItem) GetEnabled() *bool { - if o == nil { - return nil - } - return o.Enabled -} - -func (o *IpsecTunnelResultItem) GetEncryption() *string { - if o == nil { - return nil - } - return o.Encryption -} - -func (o *IpsecTunnelResultItem) GetID() *int64 { - if o == nil { - return nil - } - return o.ID -} - -func (o *IpsecTunnelResultItem) GetNotes() *string { - if o == nil { - return nil - } - return o.Notes -} - -func (o *IpsecTunnelResultItem) GetOptions() *IpsecTunnelResultItemOptions { - if o == nil { - return nil - } - return o.Options -} - -func (o *IpsecTunnelResultItem) GetPops() []IpsecTunnelPopResultItem { - if o == nil { - return nil - } - return o.Pops -} - -func (o *IpsecTunnelResultItem) GetSite() *string { - if o == nil { - return nil - } - return o.Site -} - -func (o *IpsecTunnelResultItem) GetSourcetype() *string { - if o == nil { - return nil - } - return o.Sourcetype -} - -func (o *IpsecTunnelResultItem) GetSrcidentity() *string { - if o == nil { - return nil - } - return o.Srcidentity -} - -func (o *IpsecTunnelResultItem) GetSrcipidentity() *string { - if o == nil { - return nil - } - return o.Srcipidentity -} - -func (o *IpsecTunnelResultItem) GetTemplate() *string { - if o == nil { - return nil - } - return o.Template -} - -func (o *IpsecTunnelResultItem) GetVendor() *string { - if o == nil { - return nil - } - return o.Vendor -} - -func (o *IpsecTunnelResultItem) GetVersion() *int64 { - if o == nil { - return nil - } - return o.Version -} diff --git a/internal/sdk/pkg/models/shared/npapolicygrouprequest.go b/internal/sdk/pkg/models/shared/npapolicygrouprequest.go deleted file mode 100644 index 98d07d5..0000000 --- a/internal/sdk/pkg/models/shared/npapolicygrouprequest.go +++ /dev/null @@ -1,73 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -import ( - "encoding/json" - "fmt" -) - -type NpaPolicygroupRequestOrder string - -const ( - NpaPolicygroupRequestOrderBefore NpaPolicygroupRequestOrder = "before" - NpaPolicygroupRequestOrderAfter NpaPolicygroupRequestOrder = "after" -) - -func (e NpaPolicygroupRequestOrder) ToPointer() *NpaPolicygroupRequestOrder { - return &e -} - -func (e *NpaPolicygroupRequestOrder) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "before": - fallthrough - case "after": - *e = NpaPolicygroupRequestOrder(v) - return nil - default: - return fmt.Errorf("invalid value for NpaPolicygroupRequestOrder: %v", v) - } -} - -type GroupOrder struct { - GroupID string `json:"group_id"` - Order NpaPolicygroupRequestOrder `json:"order"` -} - -func (o *GroupOrder) GetGroupID() string { - if o == nil { - return "" - } - return o.GroupID -} - -func (o *GroupOrder) GetOrder() NpaPolicygroupRequestOrder { - if o == nil { - return NpaPolicygroupRequestOrder("") - } - return o.Order -} - -type NpaPolicygroupRequest struct { - GroupName string `json:"group_name"` - GroupOrder GroupOrder `json:"group_order"` -} - -func (o *NpaPolicygroupRequest) GetGroupName() string { - if o == nil { - return "" - } - return o.GroupName -} - -func (o *NpaPolicygroupRequest) GetGroupOrder() GroupOrder { - if o == nil { - return GroupOrder{} - } - return o.GroupOrder -} diff --git a/internal/sdk/pkg/models/shared/npapolicygroupresponse.go b/internal/sdk/pkg/models/shared/npapolicygroupresponse.go deleted file mode 100644 index 8bce9fa..0000000 --- a/internal/sdk/pkg/models/shared/npapolicygroupresponse.go +++ /dev/null @@ -1,14 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type NpaPolicygroupResponse struct { - Data []NpaPolicygroupResponseItem `json:"data,omitempty"` -} - -func (o *NpaPolicygroupResponse) GetData() []NpaPolicygroupResponseItem { - if o == nil { - return nil - } - return o.Data -} diff --git a/internal/sdk/pkg/models/shared/npapolicygroupresponse400.go b/internal/sdk/pkg/models/shared/npapolicygroupresponse400.go deleted file mode 100644 index 6496035..0000000 --- a/internal/sdk/pkg/models/shared/npapolicygroupresponse400.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type NpaPolicygroupResponse400 struct { - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *NpaPolicygroupResponse400) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *NpaPolicygroupResponse400) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/npapolicygroupresponseitem.go b/internal/sdk/pkg/models/shared/npapolicygroupresponseitem.go deleted file mode 100644 index 066ce89..0000000 --- a/internal/sdk/pkg/models/shared/npapolicygroupresponseitem.go +++ /dev/null @@ -1,70 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type NpaPolicygroupResponseItem struct { - CanBeEditedDeleted *string `json:"can_be_edited_deleted,omitempty"` - GroupID *string `json:"group_id,omitempty"` - GroupName *string `json:"group_name,omitempty"` - GroupPinnedID *int64 `json:"group_pinned_id,omitempty"` - GroupProdID *int64 `json:"group_prod_id,omitempty"` - GroupType *string `json:"group_type,omitempty"` - ModifyTime *string `json:"modify_time,omitempty"` - ModifyType *string `json:"modify_type,omitempty"` -} - -func (o *NpaPolicygroupResponseItem) GetCanBeEditedDeleted() *string { - if o == nil { - return nil - } - return o.CanBeEditedDeleted -} - -func (o *NpaPolicygroupResponseItem) GetGroupID() *string { - if o == nil { - return nil - } - return o.GroupID -} - -func (o *NpaPolicygroupResponseItem) GetGroupName() *string { - if o == nil { - return nil - } - return o.GroupName -} - -func (o *NpaPolicygroupResponseItem) GetGroupPinnedID() *int64 { - if o == nil { - return nil - } - return o.GroupPinnedID -} - -func (o *NpaPolicygroupResponseItem) GetGroupProdID() *int64 { - if o == nil { - return nil - } - return o.GroupProdID -} - -func (o *NpaPolicygroupResponseItem) GetGroupType() *string { - if o == nil { - return nil - } - return o.GroupType -} - -func (o *NpaPolicygroupResponseItem) GetModifyTime() *string { - if o == nil { - return nil - } - return o.ModifyTime -} - -func (o *NpaPolicygroupResponseItem) GetModifyType() *string { - if o == nil { - return nil - } - return o.ModifyType -} diff --git a/internal/sdk/pkg/models/shared/npapolicyrequest.go b/internal/sdk/pkg/models/shared/npapolicyrequest.go index 6c79c8c..c92e088 100644 --- a/internal/sdk/pkg/models/shared/npapolicyrequest.go +++ b/internal/sdk/pkg/models/shared/npapolicyrequest.go @@ -42,9 +42,9 @@ func (e *Order) UnmarshalJSON(data []byte) error { type RuleOrder struct { Order *Order `json:"order,omitempty"` - Position *int64 `json:"position,omitempty"` - RuleID *string `json:"rule_id,omitempty"` RuleName *string `json:"rule_name,omitempty"` + RuleID *string `json:"rule_id,omitempty"` + Position *int64 `json:"position,omitempty"` } func (o *RuleOrder) GetOrder() *Order { @@ -54,11 +54,11 @@ func (o *RuleOrder) GetOrder() *Order { return o.Order } -func (o *RuleOrder) GetPosition() *int64 { +func (o *RuleOrder) GetRuleName() *string { if o == nil { return nil } - return o.Position + return o.RuleName } func (o *RuleOrder) GetRuleID() *string { @@ -68,60 +68,60 @@ func (o *RuleOrder) GetRuleID() *string { return o.RuleID } -func (o *RuleOrder) GetRuleName() *string { +func (o *RuleOrder) GetPosition() *int64 { if o == nil { return nil } - return o.RuleName + return o.Position } type NpaPolicyRequest struct { + RuleName *string `json:"rule_name,omitempty"` Description *string `json:"description,omitempty"` - Enabled *string `json:"enabled,omitempty"` - GroupName *string `json:"group_name,omitempty"` RuleData *NpaPolicyRuleData `json:"rule_data,omitempty"` - RuleName *string `json:"rule_name,omitempty"` RuleOrder *RuleOrder `json:"rule_order,omitempty"` + GroupName *string `json:"group_name,omitempty"` + Enabled *string `json:"enabled,omitempty"` } -func (o *NpaPolicyRequest) GetDescription() *string { +func (o *NpaPolicyRequest) GetRuleName() *string { if o == nil { return nil } - return o.Description + return o.RuleName } -func (o *NpaPolicyRequest) GetEnabled() *string { +func (o *NpaPolicyRequest) GetDescription() *string { if o == nil { return nil } - return o.Enabled + return o.Description } -func (o *NpaPolicyRequest) GetGroupName() *string { +func (o *NpaPolicyRequest) GetRuleData() *NpaPolicyRuleData { if o == nil { return nil } - return o.GroupName + return o.RuleData } -func (o *NpaPolicyRequest) GetRuleData() *NpaPolicyRuleData { +func (o *NpaPolicyRequest) GetRuleOrder() *RuleOrder { if o == nil { return nil } - return o.RuleData + return o.RuleOrder } -func (o *NpaPolicyRequest) GetRuleName() *string { +func (o *NpaPolicyRequest) GetGroupName() *string { if o == nil { return nil } - return o.RuleName + return o.GroupName } -func (o *NpaPolicyRequest) GetRuleOrder() *RuleOrder { +func (o *NpaPolicyRequest) GetEnabled() *string { if o == nil { return nil } - return o.RuleOrder + return o.Enabled } diff --git a/internal/sdk/pkg/models/shared/npapolicyresponse400.go b/internal/sdk/pkg/models/shared/npapolicyresponse400.go index cb44552..fbb41a6 100644 --- a/internal/sdk/pkg/models/shared/npapolicyresponse400.go +++ b/internal/sdk/pkg/models/shared/npapolicyresponse400.go @@ -3,20 +3,20 @@ package shared type NpaPolicyResponse400 struct { - Result *string `json:"result,omitempty"` Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` } -func (o *NpaPolicyResponse400) GetResult() *string { +func (o *NpaPolicyResponse400) GetStatus() *int64 { if o == nil { return nil } - return o.Result + return o.Status } -func (o *NpaPolicyResponse400) GetStatus() *int64 { +func (o *NpaPolicyResponse400) GetResult() *string { if o == nil { return nil } - return o.Status + return o.Result } diff --git a/internal/sdk/pkg/models/shared/npapolicyresponseitem.go b/internal/sdk/pkg/models/shared/npapolicyresponseitem.go index c7e8fcd..b6f0ba0 100644 --- a/internal/sdk/pkg/models/shared/npapolicyresponseitem.go +++ b/internal/sdk/pkg/models/shared/npapolicyresponseitem.go @@ -3,28 +3,28 @@ package shared type NpaPolicyResponseItem struct { - RuleData *NpaPolicyRuleData `json:"rule_data,omitempty"` RuleID *string `json:"rule_id,omitempty"` RuleName *string `json:"rule_name,omitempty"` + RuleData *NpaPolicyRuleData `json:"rule_data,omitempty"` } -func (o *NpaPolicyResponseItem) GetRuleData() *NpaPolicyRuleData { +func (o *NpaPolicyResponseItem) GetRuleID() *string { if o == nil { return nil } - return o.RuleData + return o.RuleID } -func (o *NpaPolicyResponseItem) GetRuleID() *string { +func (o *NpaPolicyResponseItem) GetRuleName() *string { if o == nil { return nil } - return o.RuleID + return o.RuleName } -func (o *NpaPolicyResponseItem) GetRuleName() *string { +func (o *NpaPolicyResponseItem) GetRuleData() *NpaPolicyRuleData { if o == nil { return nil } - return o.RuleName + return o.RuleData } diff --git a/internal/sdk/pkg/models/shared/npapolicyruledata.go b/internal/sdk/pkg/models/shared/npapolicyruledata.go index 58bb5b1..2903f38 100644 --- a/internal/sdk/pkg/models/shared/npapolicyruledata.go +++ b/internal/sdk/pkg/models/shared/npapolicyruledata.go @@ -7,42 +7,28 @@ import ( "fmt" ) -type ActionName string +type UserType string const ( - ActionNameAllow ActionName = "allow" - ActionNameBlock ActionName = "block" + UserTypeUser UserType = "user" ) -func (e ActionName) ToPointer() *ActionName { +func (e UserType) ToPointer() *UserType { return &e } -func (e *ActionName) UnmarshalJSON(data []byte) error { +func (e *UserType) UnmarshalJSON(data []byte) error { var v string if err := json.Unmarshal(data, &v); err != nil { return err } switch v { - case "allow": - fallthrough - case "block": - *e = ActionName(v) + case "user": + *e = UserType(v) return nil default: - return fmt.Errorf("invalid value for ActionName: %v", v) - } -} - -type MatchCriteriaAction struct { - ActionName *ActionName `json:"action_name,omitempty"` -} - -func (o *MatchCriteriaAction) GetActionName() *ActionName { - if o == nil { - return nil + return fmt.Errorf("invalid value for UserType: %v", v) } - return o.ActionName } type PolicyType string @@ -113,190 +99,204 @@ func (o *Activities) GetListOfConstraints() []string { } type PrivateAppsWithActivities struct { - Activities []Activities `json:"activities,omitempty"` AppName *string `json:"appName,omitempty"` + Activities []Activities `json:"activities,omitempty"` } -func (o *PrivateAppsWithActivities) GetActivities() []Activities { +func (o *PrivateAppsWithActivities) GetAppName() *string { if o == nil { return nil } - return o.Activities + return o.AppName } -func (o *PrivateAppsWithActivities) GetAppName() *string { +func (o *PrivateAppsWithActivities) GetActivities() []Activities { if o == nil { return nil } - return o.AppName + return o.Activities } -type UserType string +type ActionName string const ( - UserTypeUser UserType = "user" + ActionNameAllow ActionName = "allow" + ActionNameBlock ActionName = "block" ) -func (e UserType) ToPointer() *UserType { +func (e ActionName) ToPointer() *ActionName { return &e } -func (e *UserType) UnmarshalJSON(data []byte) error { +func (e *ActionName) UnmarshalJSON(data []byte) error { var v string if err := json.Unmarshal(data, &v); err != nil { return err } switch v { - case "user": - *e = UserType(v) + case "allow": + fallthrough + case "block": + *e = ActionName(v) return nil default: - return fmt.Errorf("invalid value for UserType: %v", v) + return fmt.Errorf("invalid value for ActionName: %v", v) + } +} + +type MatchCriteriaAction struct { + ActionName *ActionName `json:"action_name,omitempty"` +} + +func (o *MatchCriteriaAction) GetActionName() *ActionName { + if o == nil { + return nil } + return o.ActionName } type NpaPolicyRuleData struct { - AccessMethod []string `json:"access_method,omitempty"` - BNegateNetLocation *bool `json:"b_negateNetLocation,omitempty"` - BNegateSrcCountries *bool `json:"b_negateSrcCountries,omitempty"` - Classification *string `json:"classification,omitempty"` - DlpActions []NpaPolicyRuleDlp `json:"dlp_actions,omitempty"` - ExternalDlp *bool `json:"external_dlp,omitempty"` - JSONVersion *int64 `json:"json_version,omitempty"` - MatchCriteriaAction *MatchCriteriaAction `json:"match_criteria_action,omitempty"` - NetLocationObj []string `json:"net_location_obj,omitempty"` + Users []string `json:"users,omitempty"` + UserGroups []string `json:"userGroups,omitempty"` OrganizationUnits []string `json:"organization_units,omitempty"` + UserType *UserType `json:"userType,omitempty"` + AccessMethod []string `json:"access_method,omitempty"` PolicyType *PolicyType `json:"policy_type,omitempty"` + PrivateApps []string `json:"privateApps,omitempty"` PrivateAppIds []string `json:"privateAppIds,omitempty"` - PrivateAppTagIds []string `json:"privateAppTagIds,omitempty"` PrivateAppTags []string `json:"privateAppTags,omitempty"` - PrivateApps []string `json:"privateApps,omitempty"` + PrivateAppTagIds []string `json:"privateAppTagIds,omitempty"` PrivateAppsWithActivities []PrivateAppsWithActivities `json:"privateAppsWithActivities,omitempty"` + MatchCriteriaAction *MatchCriteriaAction `json:"match_criteria_action,omitempty"` + Classification *string `json:"classification,omitempty"` ShowDlpProfileActionTable *bool `json:"show_dlp_profile_action_table,omitempty"` + ExternalDlp *bool `json:"external_dlp,omitempty"` + NetLocationObj []string `json:"net_location_obj,omitempty"` + BNegateNetLocation *bool `json:"b_negateNetLocation,omitempty"` SrcCountries []string `json:"srcCountries,omitempty"` - UserGroups []string `json:"userGroups,omitempty"` - UserType *UserType `json:"userType,omitempty"` - Users []string `json:"users,omitempty"` + BNegateSrcCountries *bool `json:"b_negateSrcCountries,omitempty"` + JSONVersion *int64 `json:"json_version,omitempty"` Version *int64 `json:"version,omitempty"` + DlpActions []NpaPolicyRuleDlp `json:"dlp_actions,omitempty"` } -func (o *NpaPolicyRuleData) GetAccessMethod() []string { +func (o *NpaPolicyRuleData) GetUsers() []string { if o == nil { return nil } - return o.AccessMethod + return o.Users } -func (o *NpaPolicyRuleData) GetBNegateNetLocation() *bool { +func (o *NpaPolicyRuleData) GetUserGroups() []string { if o == nil { return nil } - return o.BNegateNetLocation + return o.UserGroups } -func (o *NpaPolicyRuleData) GetBNegateSrcCountries() *bool { +func (o *NpaPolicyRuleData) GetOrganizationUnits() []string { if o == nil { return nil } - return o.BNegateSrcCountries + return o.OrganizationUnits } -func (o *NpaPolicyRuleData) GetClassification() *string { +func (o *NpaPolicyRuleData) GetUserType() *UserType { if o == nil { return nil } - return o.Classification + return o.UserType } -func (o *NpaPolicyRuleData) GetDlpActions() []NpaPolicyRuleDlp { +func (o *NpaPolicyRuleData) GetAccessMethod() []string { if o == nil { return nil } - return o.DlpActions + return o.AccessMethod } -func (o *NpaPolicyRuleData) GetExternalDlp() *bool { +func (o *NpaPolicyRuleData) GetPolicyType() *PolicyType { if o == nil { return nil } - return o.ExternalDlp + return o.PolicyType } -func (o *NpaPolicyRuleData) GetJSONVersion() *int64 { +func (o *NpaPolicyRuleData) GetPrivateApps() []string { if o == nil { return nil } - return o.JSONVersion + return o.PrivateApps } -func (o *NpaPolicyRuleData) GetMatchCriteriaAction() *MatchCriteriaAction { +func (o *NpaPolicyRuleData) GetPrivateAppIds() []string { if o == nil { return nil } - return o.MatchCriteriaAction + return o.PrivateAppIds } -func (o *NpaPolicyRuleData) GetNetLocationObj() []string { +func (o *NpaPolicyRuleData) GetPrivateAppTags() []string { if o == nil { return nil } - return o.NetLocationObj + return o.PrivateAppTags } -func (o *NpaPolicyRuleData) GetOrganizationUnits() []string { +func (o *NpaPolicyRuleData) GetPrivateAppTagIds() []string { if o == nil { return nil } - return o.OrganizationUnits + return o.PrivateAppTagIds } -func (o *NpaPolicyRuleData) GetPolicyType() *PolicyType { +func (o *NpaPolicyRuleData) GetPrivateAppsWithActivities() []PrivateAppsWithActivities { if o == nil { return nil } - return o.PolicyType + return o.PrivateAppsWithActivities } -func (o *NpaPolicyRuleData) GetPrivateAppIds() []string { +func (o *NpaPolicyRuleData) GetMatchCriteriaAction() *MatchCriteriaAction { if o == nil { return nil } - return o.PrivateAppIds + return o.MatchCriteriaAction } -func (o *NpaPolicyRuleData) GetPrivateAppTagIds() []string { +func (o *NpaPolicyRuleData) GetClassification() *string { if o == nil { return nil } - return o.PrivateAppTagIds + return o.Classification } -func (o *NpaPolicyRuleData) GetPrivateAppTags() []string { +func (o *NpaPolicyRuleData) GetShowDlpProfileActionTable() *bool { if o == nil { return nil } - return o.PrivateAppTags + return o.ShowDlpProfileActionTable } -func (o *NpaPolicyRuleData) GetPrivateApps() []string { +func (o *NpaPolicyRuleData) GetExternalDlp() *bool { if o == nil { return nil } - return o.PrivateApps + return o.ExternalDlp } -func (o *NpaPolicyRuleData) GetPrivateAppsWithActivities() []PrivateAppsWithActivities { +func (o *NpaPolicyRuleData) GetNetLocationObj() []string { if o == nil { return nil } - return o.PrivateAppsWithActivities + return o.NetLocationObj } -func (o *NpaPolicyRuleData) GetShowDlpProfileActionTable() *bool { +func (o *NpaPolicyRuleData) GetBNegateNetLocation() *bool { if o == nil { return nil } - return o.ShowDlpProfileActionTable + return o.BNegateNetLocation } func (o *NpaPolicyRuleData) GetSrcCountries() []string { @@ -306,30 +306,30 @@ func (o *NpaPolicyRuleData) GetSrcCountries() []string { return o.SrcCountries } -func (o *NpaPolicyRuleData) GetUserGroups() []string { +func (o *NpaPolicyRuleData) GetBNegateSrcCountries() *bool { if o == nil { return nil } - return o.UserGroups + return o.BNegateSrcCountries } -func (o *NpaPolicyRuleData) GetUserType() *UserType { +func (o *NpaPolicyRuleData) GetJSONVersion() *int64 { if o == nil { return nil } - return o.UserType + return o.JSONVersion } -func (o *NpaPolicyRuleData) GetUsers() []string { +func (o *NpaPolicyRuleData) GetVersion() *int64 { if o == nil { return nil } - return o.Users + return o.Version } -func (o *NpaPolicyRuleData) GetVersion() *int64 { +func (o *NpaPolicyRuleData) GetDlpActions() []NpaPolicyRuleDlp { if o == nil { return nil } - return o.Version + return o.DlpActions } diff --git a/internal/sdk/pkg/models/shared/npapolicyruledlp.go b/internal/sdk/pkg/models/shared/npapolicyruledlp.go index b45bd1d..19bf966 100644 --- a/internal/sdk/pkg/models/shared/npapolicyruledlp.go +++ b/internal/sdk/pkg/models/shared/npapolicyruledlp.go @@ -44,20 +44,20 @@ func (e *Actions) UnmarshalJSON(data []byte) error { } type NpaPolicyRuleDlp struct { - Actions []Actions `json:"actions,omitempty"` DlpProfile *string `json:"dlp_profile,omitempty"` + Actions []Actions `json:"actions,omitempty"` } -func (o *NpaPolicyRuleDlp) GetActions() []Actions { +func (o *NpaPolicyRuleDlp) GetDlpProfile() *string { if o == nil { return nil } - return o.Actions + return o.DlpProfile } -func (o *NpaPolicyRuleDlp) GetDlpProfile() *string { +func (o *NpaPolicyRuleDlp) GetActions() []Actions { if o == nil { return nil } - return o.DlpProfile + return o.Actions } diff --git a/internal/sdk/pkg/models/shared/privateappsgetresponse.go b/internal/sdk/pkg/models/shared/privateappsgetresponse.go deleted file mode 100644 index 04bb323..0000000 --- a/internal/sdk/pkg/models/shared/privateappsgetresponse.go +++ /dev/null @@ -1,73 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -import ( - "encoding/json" - "fmt" -) - -type PrivateAppsGetResponseData struct { - PrivateApps []interface{} `json:"private_apps,omitempty"` -} - -func (o *PrivateAppsGetResponseData) GetPrivateApps() []interface{} { - if o == nil { - return nil - } - return o.PrivateApps -} - -type Status string - -const ( - StatusSuccess Status = "success" - StatusNotFound Status = "not found" -) - -func (e Status) ToPointer() *Status { - return &e -} - -func (e *Status) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "success": - fallthrough - case "not found": - *e = Status(v) - return nil - default: - return fmt.Errorf("invalid value for Status: %v", v) - } -} - -type PrivateAppsGetResponse struct { - Data *PrivateAppsGetResponseData `json:"data,omitempty"` - Status *Status `json:"status,omitempty"` - Total *int `json:"total,omitempty"` -} - -func (o *PrivateAppsGetResponse) GetData() *PrivateAppsGetResponseData { - if o == nil { - return nil - } - return o.Data -} - -func (o *PrivateAppsGetResponse) GetStatus() *Status { - if o == nil { - return nil - } - return o.Status -} - -func (o *PrivateAppsGetResponse) GetTotal() *int { - if o == nil { - return nil - } - return o.Total -} diff --git a/internal/sdk/pkg/models/shared/privateappsputrequest.go b/internal/sdk/pkg/models/shared/privateappsputrequest.go deleted file mode 100644 index be0de41..0000000 --- a/internal/sdk/pkg/models/shared/privateappsputrequest.go +++ /dev/null @@ -1,94 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type PrivateAppsPutRequest struct { - AppName *string `json:"app_name,omitempty"` - ClientlessAccess *bool `json:"clientless_access,omitempty"` - Host *string `json:"host,omitempty"` - ID *int `json:"id,omitempty"` - Protocols []ProtocolItem `json:"protocols,omitempty"` - PublisherTags []TagItemNoID `json:"publisher_tags,omitempty"` - Publishers []PublisherItem `json:"publishers,omitempty"` - RealHost *string `json:"real_host,omitempty"` - Tags []TagItemNoID `json:"tags,omitempty"` - TrustSelfSignedCerts *bool `json:"trust_self_signed_certs,omitempty"` - UsePublisherDNS *bool `json:"use_publisher_dns,omitempty"` -} - -func (o *PrivateAppsPutRequest) GetAppName() *string { - if o == nil { - return nil - } - return o.AppName -} - -func (o *PrivateAppsPutRequest) GetClientlessAccess() *bool { - if o == nil { - return nil - } - return o.ClientlessAccess -} - -func (o *PrivateAppsPutRequest) GetHost() *string { - if o == nil { - return nil - } - return o.Host -} - -func (o *PrivateAppsPutRequest) GetID() *int { - if o == nil { - return nil - } - return o.ID -} - -func (o *PrivateAppsPutRequest) GetProtocols() []ProtocolItem { - if o == nil { - return nil - } - return o.Protocols -} - -func (o *PrivateAppsPutRequest) GetPublisherTags() []TagItemNoID { - if o == nil { - return nil - } - return o.PublisherTags -} - -func (o *PrivateAppsPutRequest) GetPublishers() []PublisherItem { - if o == nil { - return nil - } - return o.Publishers -} - -func (o *PrivateAppsPutRequest) GetRealHost() *string { - if o == nil { - return nil - } - return o.RealHost -} - -func (o *PrivateAppsPutRequest) GetTags() []TagItemNoID { - if o == nil { - return nil - } - return o.Tags -} - -func (o *PrivateAppsPutRequest) GetTrustSelfSignedCerts() *bool { - if o == nil { - return nil - } - return o.TrustSelfSignedCerts -} - -func (o *PrivateAppsPutRequest) GetUsePublisherDNS() *bool { - if o == nil { - return nil - } - return o.UsePublisherDNS -} diff --git a/internal/sdk/pkg/models/shared/privateappsrequest.go b/internal/sdk/pkg/models/shared/privateappsrequest.go deleted file mode 100644 index 9e9d007..0000000 --- a/internal/sdk/pkg/models/shared/privateappsrequest.go +++ /dev/null @@ -1,86 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type PrivateAppsRequest struct { - AppName *string `json:"app_name,omitempty"` - ClientlessAccess *bool `json:"clientless_access,omitempty"` - Host *string `json:"host,omitempty"` - Protocols []ProtocolItem `json:"protocols,omitempty"` - PublisherTags []TagItemNoID `json:"publisher_tags,omitempty"` - Publishers []PublisherItem `json:"publishers,omitempty"` - RealHost *string `json:"real_host,omitempty"` - Tags []TagItemNoID `json:"tags,omitempty"` - TrustSelfSignedCerts *bool `json:"trust_self_signed_certs,omitempty"` - UsePublisherDNS *bool `json:"use_publisher_dns,omitempty"` -} - -func (o *PrivateAppsRequest) GetAppName() *string { - if o == nil { - return nil - } - return o.AppName -} - -func (o *PrivateAppsRequest) GetClientlessAccess() *bool { - if o == nil { - return nil - } - return o.ClientlessAccess -} - -func (o *PrivateAppsRequest) GetHost() *string { - if o == nil { - return nil - } - return o.Host -} - -func (o *PrivateAppsRequest) GetProtocols() []ProtocolItem { - if o == nil { - return nil - } - return o.Protocols -} - -func (o *PrivateAppsRequest) GetPublisherTags() []TagItemNoID { - if o == nil { - return nil - } - return o.PublisherTags -} - -func (o *PrivateAppsRequest) GetPublishers() []PublisherItem { - if o == nil { - return nil - } - return o.Publishers -} - -func (o *PrivateAppsRequest) GetRealHost() *string { - if o == nil { - return nil - } - return o.RealHost -} - -func (o *PrivateAppsRequest) GetTags() []TagItemNoID { - if o == nil { - return nil - } - return o.Tags -} - -func (o *PrivateAppsRequest) GetTrustSelfSignedCerts() *bool { - if o == nil { - return nil - } - return o.TrustSelfSignedCerts -} - -func (o *PrivateAppsRequest) GetUsePublisherDNS() *bool { - if o == nil { - return nil - } - return o.UsePublisherDNS -} diff --git a/internal/sdk/pkg/models/shared/privateappsresponse.go b/internal/sdk/pkg/models/shared/privateappsresponse.go deleted file mode 100644 index a0515e0..0000000 --- a/internal/sdk/pkg/models/shared/privateappsresponse.go +++ /dev/null @@ -1,97 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type PrivateAppsResponseData struct { - ClientlessAccess *bool `json:"clientless_access,omitempty"` - Host *string `json:"host,omitempty"` - ID *int `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - RealHost *string `json:"real_host,omitempty"` - ResolvedProtocols []ProtocolResponseItem `json:"protocols,omitempty"` - ServicePublisherAssignments []ServicePublisherAssignmentItem `json:"service_publisher_assignments,omitempty"` - Tags []TagItem `json:"tags,omitempty"` - TrustSelfSignedCerts *bool `json:"trust_self_signed_certs,omitempty"` - UsePublisherDNS *bool `json:"use_publisher_dns,omitempty"` -} - -func (o *PrivateAppsResponseData) GetClientlessAccess() *bool { - if o == nil { - return nil - } - return o.ClientlessAccess -} - -func (o *PrivateAppsResponseData) GetHost() *string { - if o == nil { - return nil - } - return o.Host -} - -func (o *PrivateAppsResponseData) GetID() *int { - if o == nil { - return nil - } - return o.ID -} - -func (o *PrivateAppsResponseData) GetName() *string { - if o == nil { - return nil - } - return o.Name -} - -func (o *PrivateAppsResponseData) GetRealHost() *string { - if o == nil { - return nil - } - return o.RealHost -} - -func (o *PrivateAppsResponseData) GetResolvedProtocols() []ProtocolResponseItem { - if o == nil { - return nil - } - return o.ResolvedProtocols -} - -func (o *PrivateAppsResponseData) GetServicePublisherAssignments() []ServicePublisherAssignmentItem { - if o == nil { - return nil - } - return o.ServicePublisherAssignments -} - -func (o *PrivateAppsResponseData) GetTags() []TagItem { - if o == nil { - return nil - } - return o.Tags -} - -func (o *PrivateAppsResponseData) GetTrustSelfSignedCerts() *bool { - if o == nil { - return nil - } - return o.TrustSelfSignedCerts -} - -func (o *PrivateAppsResponseData) GetUsePublisherDNS() *bool { - if o == nil { - return nil - } - return o.UsePublisherDNS -} - -type PrivateAppsResponse struct { - Data *PrivateAppsResponseData `json:"data,omitempty"` -} - -func (o *PrivateAppsResponse) GetData() *PrivateAppsResponseData { - if o == nil { - return nil - } - return o.Data -} diff --git a/internal/sdk/pkg/models/shared/privateappsresponse400.go b/internal/sdk/pkg/models/shared/privateappsresponse400.go deleted file mode 100644 index 2a8be71..0000000 --- a/internal/sdk/pkg/models/shared/privateappsresponse400.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type PrivateAppsResponse400 struct { - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *PrivateAppsResponse400) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *PrivateAppsResponse400) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/protocolitem.go b/internal/sdk/pkg/models/shared/protocolitem.go deleted file mode 100644 index d862e65..0000000 --- a/internal/sdk/pkg/models/shared/protocolitem.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type ProtocolItem struct { - Port *string `json:"port,omitempty"` - Type *string `json:"type,omitempty"` -} - -func (o *ProtocolItem) GetPort() *string { - if o == nil { - return nil - } - return o.Port -} - -func (o *ProtocolItem) GetType() *string { - if o == nil { - return nil - } - return o.Type -} diff --git a/internal/sdk/pkg/models/shared/protocolresponseitem.go b/internal/sdk/pkg/models/shared/protocolresponseitem.go index 6791acb..8da84ad 100644 --- a/internal/sdk/pkg/models/shared/protocolresponseitem.go +++ b/internal/sdk/pkg/models/shared/protocolresponseitem.go @@ -5,8 +5,8 @@ package shared type ProtocolResponseItem struct { ID *int `json:"id,omitempty"` Port *string `json:"port,omitempty"` - ServiceID *int `json:"service_id,omitempty"` Transport *string `json:"transport,omitempty"` + ServiceID *int `json:"service_id,omitempty"` } func (o *ProtocolResponseItem) GetID() *int { @@ -23,16 +23,16 @@ func (o *ProtocolResponseItem) GetPort() *string { return o.Port } -func (o *ProtocolResponseItem) GetServiceID() *int { +func (o *ProtocolResponseItem) GetTransport() *string { if o == nil { return nil } - return o.ServiceID + return o.Transport } -func (o *ProtocolResponseItem) GetTransport() *string { +func (o *ProtocolResponseItem) GetServiceID() *int { if o == nil { return nil } - return o.Transport + return o.ServiceID } diff --git a/internal/sdk/pkg/models/shared/publisher.go b/internal/sdk/pkg/models/shared/publisher.go index e8fcbc5..fb63db8 100644 --- a/internal/sdk/pkg/models/shared/publisher.go +++ b/internal/sdk/pkg/models/shared/publisher.go @@ -4,7 +4,7 @@ package shared import ( "errors" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" ) type Two struct { @@ -73,19 +73,19 @@ func (u PublisherAssessment) MarshalJSON() ([]byte, error) { return nil, errors.New("could not marshal union type: all fields are null") } -type Publisher2 struct { +type StitcherID2 struct { } type StitcherIDType string const ( - StitcherIDTypeInteger StitcherIDType = "integer" - StitcherIDTypePublisher2 StitcherIDType = "Publisher_2" + StitcherIDTypeInteger StitcherIDType = "integer" + StitcherIDTypeStitcherID2 StitcherIDType = "stitcher_id_2" ) type StitcherID struct { - Integer *int64 - Publisher2 *Publisher2 + Integer *int64 + StitcherID2 *StitcherID2 Type StitcherIDType } @@ -99,21 +99,21 @@ func CreateStitcherIDInteger(integer int64) StitcherID { } } -func CreateStitcherIDPublisher2(publisher2 Publisher2) StitcherID { - typ := StitcherIDTypePublisher2 +func CreateStitcherIDStitcherID2(stitcherID2 StitcherID2) StitcherID { + typ := StitcherIDTypeStitcherID2 return StitcherID{ - Publisher2: &publisher2, - Type: typ, + StitcherID2: &stitcherID2, + Type: typ, } } func (u *StitcherID) UnmarshalJSON(data []byte) error { - publisher2 := new(Publisher2) - if err := utils.UnmarshalJSON(data, &publisher2, "", true, true); err == nil { - u.Publisher2 = publisher2 - u.Type = StitcherIDTypePublisher2 + stitcherID2 := new(StitcherID2) + if err := utils.UnmarshalJSON(data, &stitcherID2, "", true, true); err == nil { + u.StitcherID2 = stitcherID2 + u.Type = StitcherIDTypeStitcherID2 return nil } @@ -132,26 +132,26 @@ func (u StitcherID) MarshalJSON() ([]byte, error) { return utils.MarshalJSON(u.Integer, "", true) } - if u.Publisher2 != nil { - return utils.MarshalJSON(u.Publisher2, "", true) + if u.StitcherID2 != nil { + return utils.MarshalJSON(u.StitcherID2, "", true) } return nil, errors.New("could not marshal union type: all fields are null") } -type PublisherSchemas2 struct { +type UpgradeFailedReason2 struct { } type PublisherUpgradeFailedReasonType string const ( - PublisherUpgradeFailedReasonTypeUpgradeFailedReason PublisherUpgradeFailedReasonType = "UpgradeFailedReason" - PublisherUpgradeFailedReasonTypePublisherSchemas2 PublisherUpgradeFailedReasonType = "Publisher_Schemas_2" + PublisherUpgradeFailedReasonTypeUpgradeFailedReason PublisherUpgradeFailedReasonType = "UpgradeFailedReason" + PublisherUpgradeFailedReasonTypeUpgradeFailedReason2 PublisherUpgradeFailedReasonType = "upgrade_failed_reason_2" ) type PublisherUpgradeFailedReason struct { - UpgradeFailedReason *UpgradeFailedReason - PublisherSchemas2 *PublisherSchemas2 + UpgradeFailedReason *UpgradeFailedReason + UpgradeFailedReason2 *UpgradeFailedReason2 Type PublisherUpgradeFailedReasonType } @@ -165,21 +165,21 @@ func CreatePublisherUpgradeFailedReasonUpgradeFailedReason(upgradeFailedReason U } } -func CreatePublisherUpgradeFailedReasonPublisherSchemas2(publisherSchemas2 PublisherSchemas2) PublisherUpgradeFailedReason { - typ := PublisherUpgradeFailedReasonTypePublisherSchemas2 +func CreatePublisherUpgradeFailedReasonUpgradeFailedReason2(upgradeFailedReason2 UpgradeFailedReason2) PublisherUpgradeFailedReason { + typ := PublisherUpgradeFailedReasonTypeUpgradeFailedReason2 return PublisherUpgradeFailedReason{ - PublisherSchemas2: &publisherSchemas2, - Type: typ, + UpgradeFailedReason2: &upgradeFailedReason2, + Type: typ, } } func (u *PublisherUpgradeFailedReason) UnmarshalJSON(data []byte) error { - publisherSchemas2 := new(PublisherSchemas2) - if err := utils.UnmarshalJSON(data, &publisherSchemas2, "", true, true); err == nil { - u.PublisherSchemas2 = publisherSchemas2 - u.Type = PublisherUpgradeFailedReasonTypePublisherSchemas2 + upgradeFailedReason2 := new(UpgradeFailedReason2) + if err := utils.UnmarshalJSON(data, &upgradeFailedReason2, "", true, true); err == nil { + u.UpgradeFailedReason2 = upgradeFailedReason2 + u.Type = PublisherUpgradeFailedReasonTypeUpgradeFailedReason2 return nil } @@ -198,8 +198,8 @@ func (u PublisherUpgradeFailedReason) MarshalJSON() ([]byte, error) { return utils.MarshalJSON(u.UpgradeFailedReason, "", true) } - if u.PublisherSchemas2 != nil { - return utils.MarshalJSON(u.PublisherSchemas2, "", true) + if u.UpgradeFailedReason2 != nil { + return utils.MarshalJSON(u.UpgradeFailedReason2, "", true) } return nil, errors.New("could not marshal union type: all fields are null") diff --git a/internal/sdk/pkg/models/shared/publisherappslistresponse.go b/internal/sdk/pkg/models/shared/publisherappslistresponse.go index af28b5e..9a94a9c 100644 --- a/internal/sdk/pkg/models/shared/publisherappslistresponse.go +++ b/internal/sdk/pkg/models/shared/publisherappslistresponse.go @@ -7,31 +7,44 @@ import ( "fmt" ) -type PublisherAppsListResponseData struct { - ClientlessAccess *bool `json:"clientless_access,omitempty"` - Host *string `json:"host,omitempty"` - ID *int `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Protocols []ProtocolResponseItem `json:"protocols,omitempty"` - RealHost *string `json:"real_host,omitempty"` - ServicePublisherAssignments []ServicePublisherAssignmentItem `json:"service_publisher_assignments,omitempty"` - Tags []TagItem `json:"tags,omitempty"` - TrustSelfSignedCerts *bool `json:"trust_self_signed_certs,omitempty"` - UsePublisherDNS *bool `json:"use_publisher_dns,omitempty"` +type Status string + +const ( + StatusSuccess Status = "success" + StatusNotFound Status = "not found" +) + +func (e Status) ToPointer() *Status { + return &e } -func (o *PublisherAppsListResponseData) GetClientlessAccess() *bool { - if o == nil { +func (e *Status) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "success": + fallthrough + case "not found": + *e = Status(v) return nil + default: + return fmt.Errorf("invalid value for Status: %v", v) } - return o.ClientlessAccess } -func (o *PublisherAppsListResponseData) GetHost() *string { - if o == nil { - return nil - } - return o.Host +type PublisherAppsListResponseData struct { + ID *int `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + UsePublisherDNS *bool `json:"use_publisher_dns,omitempty"` + ClientlessAccess *bool `json:"clientless_access,omitempty"` + TrustSelfSignedCerts *bool `json:"trust_self_signed_certs,omitempty"` + Host *string `json:"host,omitempty"` + RealHost *string `json:"real_host,omitempty"` + Protocols []ProtocolResponseItem `json:"protocols,omitempty"` + Tags []TagItem `json:"tags,omitempty"` + ServicePublisherAssignments []ServicePublisherAssignmentItem `json:"service_publisher_assignments,omitempty"` } func (o *PublisherAppsListResponseData) GetID() *int { @@ -48,90 +61,77 @@ func (o *PublisherAppsListResponseData) GetName() *string { return o.Name } -func (o *PublisherAppsListResponseData) GetProtocols() []ProtocolResponseItem { +func (o *PublisherAppsListResponseData) GetUsePublisherDNS() *bool { if o == nil { return nil } - return o.Protocols + return o.UsePublisherDNS } -func (o *PublisherAppsListResponseData) GetRealHost() *string { +func (o *PublisherAppsListResponseData) GetClientlessAccess() *bool { if o == nil { return nil } - return o.RealHost + return o.ClientlessAccess } -func (o *PublisherAppsListResponseData) GetServicePublisherAssignments() []ServicePublisherAssignmentItem { +func (o *PublisherAppsListResponseData) GetTrustSelfSignedCerts() *bool { if o == nil { return nil } - return o.ServicePublisherAssignments + return o.TrustSelfSignedCerts } -func (o *PublisherAppsListResponseData) GetTags() []TagItem { +func (o *PublisherAppsListResponseData) GetHost() *string { if o == nil { return nil } - return o.Tags + return o.Host } -func (o *PublisherAppsListResponseData) GetTrustSelfSignedCerts() *bool { +func (o *PublisherAppsListResponseData) GetRealHost() *string { if o == nil { return nil } - return o.TrustSelfSignedCerts + return o.RealHost } -func (o *PublisherAppsListResponseData) GetUsePublisherDNS() *bool { +func (o *PublisherAppsListResponseData) GetProtocols() []ProtocolResponseItem { if o == nil { return nil } - return o.UsePublisherDNS + return o.Protocols } -type PublisherAppsListResponseStatus string - -const ( - PublisherAppsListResponseStatusSuccess PublisherAppsListResponseStatus = "success" - PublisherAppsListResponseStatusNotFound PublisherAppsListResponseStatus = "not found" -) - -func (e PublisherAppsListResponseStatus) ToPointer() *PublisherAppsListResponseStatus { - return &e +func (o *PublisherAppsListResponseData) GetTags() []TagItem { + if o == nil { + return nil + } + return o.Tags } -func (e *PublisherAppsListResponseStatus) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "success": - fallthrough - case "not found": - *e = PublisherAppsListResponseStatus(v) +func (o *PublisherAppsListResponseData) GetServicePublisherAssignments() []ServicePublisherAssignmentItem { + if o == nil { return nil - default: - return fmt.Errorf("invalid value for PublisherAppsListResponseStatus: %v", v) } + return o.ServicePublisherAssignments } type PublisherAppsListResponse struct { - Data []PublisherAppsListResponseData `json:"data,omitempty"` - Status *PublisherAppsListResponseStatus `json:"status,omitempty"` + Status *Status `json:"status,omitempty"` + Data []PublisherAppsListResponseData `json:"data,omitempty"` } -func (o *PublisherAppsListResponse) GetData() []PublisherAppsListResponseData { +func (o *PublisherAppsListResponse) GetStatus() *Status { if o == nil { return nil } - return o.Data + return o.Status } -func (o *PublisherAppsListResponse) GetStatus() *PublisherAppsListResponseStatus { +func (o *PublisherAppsListResponse) GetData() []PublisherAppsListResponseData { if o == nil { return nil } - return o.Status + return o.Data } diff --git a/internal/sdk/pkg/models/shared/publisherbulkitem.go b/internal/sdk/pkg/models/shared/publisherbulkitem.go index c5f2d3f..bb3ae3b 100644 --- a/internal/sdk/pkg/models/shared/publisherbulkitem.go +++ b/internal/sdk/pkg/models/shared/publisherbulkitem.go @@ -10,6 +10,12 @@ import ( type PublisherBulkItemAssessment struct { } +type PublisherBulkItemUpgradeFailedReason struct { +} + +type PublisherBulkItemUpgradeStatus struct { +} + type PublisherBulkItemStatus string const ( @@ -37,33 +43,34 @@ func (e *PublisherBulkItemStatus) UnmarshalJSON(data []byte) error { } } -type PublisherBulkItemUpgradeFailedReason struct { -} - -type PublisherBulkItemUpgradeStatus struct { -} - type PublisherBulkItem struct { - Assessment *PublisherBulkItemAssessment `json:"assessment,omitempty"` - CommonName *string `json:"common_name,omitempty"` ID *int `json:"id,omitempty"` - Lbrokerconnect *bool `json:"lbrokerconnect,omitempty"` Name *string `json:"name,omitempty"` - PublisherUpgradeProfileID *int `json:"publisher_upgrade_profile_id,omitempty"` + CommonName *string `json:"common_name,omitempty"` Registered *bool `json:"registered,omitempty"` - Status *PublisherBulkItemStatus `json:"status,omitempty"` - StitcherID *int `json:"stitcher_id,omitempty"` - Tags []TagItem `json:"tags,omitempty"` + Lbrokerconnect *bool `json:"lbrokerconnect,omitempty"` + Assessment *PublisherBulkItemAssessment `json:"assessment,omitempty"` UpgradeFailedReason *PublisherBulkItemUpgradeFailedReason `json:"upgrade_failed_reason,omitempty"` UpgradeRequest *bool `json:"upgrade_request,omitempty"` UpgradeStatus *PublisherBulkItemUpgradeStatus `json:"upgrade_status,omitempty"` + StitcherID *int `json:"stitcher_id,omitempty"` + Status *PublisherBulkItemStatus `json:"status,omitempty"` + PublisherUpgradeProfileID *int `json:"publisher_upgrade_profile_id,omitempty"` + Tags []TagItem `json:"tags,omitempty"` } -func (o *PublisherBulkItem) GetAssessment() *PublisherBulkItemAssessment { +func (o *PublisherBulkItem) GetID() *int { if o == nil { return nil } - return o.Assessment + return o.ID +} + +func (o *PublisherBulkItem) GetName() *string { + if o == nil { + return nil + } + return o.Name } func (o *PublisherBulkItem) GetCommonName() *string { @@ -73,11 +80,11 @@ func (o *PublisherBulkItem) GetCommonName() *string { return o.CommonName } -func (o *PublisherBulkItem) GetID() *int { +func (o *PublisherBulkItem) GetRegistered() *bool { if o == nil { return nil } - return o.ID + return o.Registered } func (o *PublisherBulkItem) GetLbrokerconnect() *bool { @@ -87,32 +94,32 @@ func (o *PublisherBulkItem) GetLbrokerconnect() *bool { return o.Lbrokerconnect } -func (o *PublisherBulkItem) GetName() *string { +func (o *PublisherBulkItem) GetAssessment() *PublisherBulkItemAssessment { if o == nil { return nil } - return o.Name + return o.Assessment } -func (o *PublisherBulkItem) GetPublisherUpgradeProfileID() *int { +func (o *PublisherBulkItem) GetUpgradeFailedReason() *PublisherBulkItemUpgradeFailedReason { if o == nil { return nil } - return o.PublisherUpgradeProfileID + return o.UpgradeFailedReason } -func (o *PublisherBulkItem) GetRegistered() *bool { +func (o *PublisherBulkItem) GetUpgradeRequest() *bool { if o == nil { return nil } - return o.Registered + return o.UpgradeRequest } -func (o *PublisherBulkItem) GetStatus() *PublisherBulkItemStatus { +func (o *PublisherBulkItem) GetUpgradeStatus() *PublisherBulkItemUpgradeStatus { if o == nil { return nil } - return o.Status + return o.UpgradeStatus } func (o *PublisherBulkItem) GetStitcherID() *int { @@ -122,30 +129,23 @@ func (o *PublisherBulkItem) GetStitcherID() *int { return o.StitcherID } -func (o *PublisherBulkItem) GetTags() []TagItem { - if o == nil { - return nil - } - return o.Tags -} - -func (o *PublisherBulkItem) GetUpgradeFailedReason() *PublisherBulkItemUpgradeFailedReason { +func (o *PublisherBulkItem) GetStatus() *PublisherBulkItemStatus { if o == nil { return nil } - return o.UpgradeFailedReason + return o.Status } -func (o *PublisherBulkItem) GetUpgradeRequest() *bool { +func (o *PublisherBulkItem) GetPublisherUpgradeProfileID() *int { if o == nil { return nil } - return o.UpgradeRequest + return o.PublisherUpgradeProfileID } -func (o *PublisherBulkItem) GetUpgradeStatus() *PublisherBulkItemUpgradeStatus { +func (o *PublisherBulkItem) GetTags() []TagItem { if o == nil { return nil } - return o.UpgradeStatus + return o.Tags } diff --git a/internal/sdk/pkg/models/shared/publisherbulkrequest.go b/internal/sdk/pkg/models/shared/publisherbulkrequest.go index b4aa905..33088e6 100644 --- a/internal/sdk/pkg/models/shared/publisherbulkrequest.go +++ b/internal/sdk/pkg/models/shared/publisherbulkrequest.go @@ -3,7 +3,7 @@ package shared import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" ) type Apply struct { @@ -29,22 +29,22 @@ func (o *Apply) GetUpgradeRequest() *bool { } type Publishers struct { - Apply *Apply `json:"apply,omitempty"` ID []string `json:"id,omitempty"` + Apply *Apply `json:"apply,omitempty"` } -func (o *Publishers) GetApply() *Apply { +func (o *Publishers) GetID() []string { if o == nil { return nil } - return o.Apply + return o.ID } -func (o *Publishers) GetID() []string { +func (o *Publishers) GetApply() *Apply { if o == nil { return nil } - return o.ID + return o.Apply } type PublisherBulkRequest struct { diff --git a/internal/sdk/pkg/models/shared/publisheritem.go b/internal/sdk/pkg/models/shared/publisheritem.go deleted file mode 100644 index 03e1424..0000000 --- a/internal/sdk/pkg/models/shared/publisheritem.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type PublisherItem struct { - PublisherID *string `json:"publisher_id,omitempty"` - PublisherName *string `json:"publisher_name,omitempty"` -} - -func (o *PublisherItem) GetPublisherID() *string { - if o == nil { - return nil - } - return o.PublisherID -} - -func (o *PublisherItem) GetPublisherName() *string { - if o == nil { - return nil - } - return o.PublisherName -} diff --git a/internal/sdk/pkg/models/shared/publisherpostrequest.go b/internal/sdk/pkg/models/shared/publisherpostrequest.go index 4306eee..78e28ec 100644 --- a/internal/sdk/pkg/models/shared/publisherpostrequest.go +++ b/internal/sdk/pkg/models/shared/publisherpostrequest.go @@ -3,14 +3,14 @@ package shared import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" ) type PublisherPostRequest struct { - Lbrokerconnect *bool `default:"false" json:"lbrokerconnect"` Name *string `default:"publisher_name" json:"name"` - PublisherUpgradeProfilesID *int `default:"1" json:"publisher_upgrade_profiles_id"` + Lbrokerconnect *bool `default:"false" json:"lbrokerconnect"` Tags []TagItemNoID `json:"tags,omitempty"` + PublisherUpgradeProfilesID *int `default:"1" json:"publisher_upgrade_profiles_id"` } func (p PublisherPostRequest) MarshalJSON() ([]byte, error) { @@ -24,30 +24,30 @@ func (p *PublisherPostRequest) UnmarshalJSON(data []byte) error { return nil } -func (o *PublisherPostRequest) GetLbrokerconnect() *bool { +func (o *PublisherPostRequest) GetName() *string { if o == nil { return nil } - return o.Lbrokerconnect + return o.Name } -func (o *PublisherPostRequest) GetName() *string { +func (o *PublisherPostRequest) GetLbrokerconnect() *bool { if o == nil { return nil } - return o.Name + return o.Lbrokerconnect } -func (o *PublisherPostRequest) GetPublisherUpgradeProfilesID() *int { +func (o *PublisherPostRequest) GetTags() []TagItemNoID { if o == nil { return nil } - return o.PublisherUpgradeProfilesID + return o.Tags } -func (o *PublisherPostRequest) GetTags() []TagItemNoID { +func (o *PublisherPostRequest) GetPublisherUpgradeProfilesID() *int { if o == nil { return nil } - return o.Tags + return o.PublisherUpgradeProfilesID } diff --git a/internal/sdk/pkg/models/shared/publisherputrequest.go b/internal/sdk/pkg/models/shared/publisherputrequest.go index a7b1968..8ae7a9a 100644 --- a/internal/sdk/pkg/models/shared/publisherputrequest.go +++ b/internal/sdk/pkg/models/shared/publisherputrequest.go @@ -3,31 +3,31 @@ package shared type PublisherPutRequest struct { + Name *string `json:"name,omitempty"` ID *int `json:"id,omitempty"` Lbrokerconnect *bool `json:"lbrokerconnect,omitempty"` - Name *string `json:"name,omitempty"` Tags []TagItem `json:"tags,omitempty"` } -func (o *PublisherPutRequest) GetID() *int { +func (o *PublisherPutRequest) GetName() *string { if o == nil { return nil } - return o.ID + return o.Name } -func (o *PublisherPutRequest) GetLbrokerconnect() *bool { +func (o *PublisherPutRequest) GetID() *int { if o == nil { return nil } - return o.Lbrokerconnect + return o.ID } -func (o *PublisherPutRequest) GetName() *string { +func (o *PublisherPutRequest) GetLbrokerconnect() *bool { if o == nil { return nil } - return o.Name + return o.Lbrokerconnect } func (o *PublisherPutRequest) GetTags() []TagItem { diff --git a/internal/sdk/pkg/models/shared/publisherresponse.go b/internal/sdk/pkg/models/shared/publisherresponse.go index e2315b8..044d9f1 100644 --- a/internal/sdk/pkg/models/shared/publisherresponse.go +++ b/internal/sdk/pkg/models/shared/publisherresponse.go @@ -35,65 +35,65 @@ func (e *PublisherResponseStatus) UnmarshalJSON(data []byte) error { } type PublisherResponseData struct { - Assessment interface{} `json:"assessment,omitempty"` - CommonName *string `json:"common_name,omitempty"` ID *int `json:"id,omitempty"` - Lbrokerconnect *bool `json:"lbrokerconnect,omitempty"` Name *string `json:"name,omitempty"` - PublisherUpgradeProfileID *int `json:"publisher_upgrade_profile_id,omitempty"` + CommonName *string `json:"common_name,omitempty"` Registered *bool `json:"registered,omitempty"` - Status *PublisherResponseStatus `json:"status,omitempty"` + Lbrokerconnect *bool `json:"lbrokerconnect,omitempty"` + Assessment interface{} `json:"assessment,omitempty"` StitcherID *int `json:"stitcher_id,omitempty"` + Status *PublisherResponseStatus `json:"status,omitempty"` + PublisherUpgradeProfileID *int `json:"publisher_upgrade_profile_id,omitempty"` Tags []TagItem `json:"tags,omitempty"` } -func (o *PublisherResponseData) GetAssessment() interface{} { +func (o *PublisherResponseData) GetID() *int { if o == nil { return nil } - return o.Assessment + return o.ID } -func (o *PublisherResponseData) GetCommonName() *string { +func (o *PublisherResponseData) GetName() *string { if o == nil { return nil } - return o.CommonName + return o.Name } -func (o *PublisherResponseData) GetID() *int { +func (o *PublisherResponseData) GetCommonName() *string { if o == nil { return nil } - return o.ID + return o.CommonName } -func (o *PublisherResponseData) GetLbrokerconnect() *bool { +func (o *PublisherResponseData) GetRegistered() *bool { if o == nil { return nil } - return o.Lbrokerconnect + return o.Registered } -func (o *PublisherResponseData) GetName() *string { +func (o *PublisherResponseData) GetLbrokerconnect() *bool { if o == nil { return nil } - return o.Name + return o.Lbrokerconnect } -func (o *PublisherResponseData) GetPublisherUpgradeProfileID() *int { +func (o *PublisherResponseData) GetAssessment() interface{} { if o == nil { return nil } - return o.PublisherUpgradeProfileID + return o.Assessment } -func (o *PublisherResponseData) GetRegistered() *bool { +func (o *PublisherResponseData) GetStitcherID() *int { if o == nil { return nil } - return o.Registered + return o.StitcherID } func (o *PublisherResponseData) GetStatus() *PublisherResponseStatus { @@ -103,11 +103,11 @@ func (o *PublisherResponseData) GetStatus() *PublisherResponseStatus { return o.Status } -func (o *PublisherResponseData) GetStitcherID() *int { +func (o *PublisherResponseData) GetPublisherUpgradeProfileID() *int { if o == nil { return nil } - return o.StitcherID + return o.PublisherUpgradeProfileID } func (o *PublisherResponseData) GetTags() []TagItem { diff --git a/internal/sdk/pkg/models/shared/publishersbulkresponse.go b/internal/sdk/pkg/models/shared/publishersbulkresponse.go index c5821e9..506c0a4 100644 --- a/internal/sdk/pkg/models/shared/publishersbulkresponse.go +++ b/internal/sdk/pkg/models/shared/publishersbulkresponse.go @@ -35,20 +35,20 @@ func (e *PublishersBulkResponseStatus) UnmarshalJSON(data []byte) error { } type PublishersBulkResponse struct { - Data []PublisherBulkItem `json:"data,omitempty"` Status *PublishersBulkResponseStatus `json:"status,omitempty"` + Data []PublisherBulkItem `json:"data,omitempty"` } -func (o *PublishersBulkResponse) GetData() []PublisherBulkItem { +func (o *PublishersBulkResponse) GetStatus() *PublishersBulkResponseStatus { if o == nil { return nil } - return o.Data + return o.Status } -func (o *PublishersBulkResponse) GetStatus() *PublishersBulkResponseStatus { +func (o *PublishersBulkResponse) GetData() []PublisherBulkItem { if o == nil { return nil } - return o.Status + return o.Data } diff --git a/internal/sdk/pkg/models/shared/publishersreleasegetresponse.go b/internal/sdk/pkg/models/shared/publishersreleasegetresponse.go index ef0e266..4f10f2f 100644 --- a/internal/sdk/pkg/models/shared/publishersreleasegetresponse.go +++ b/internal/sdk/pkg/models/shared/publishersreleasegetresponse.go @@ -35,20 +35,20 @@ func (e *PublishersReleaseGetResponseStatus) UnmarshalJSON(data []byte) error { } type PublishersReleaseGetResponse struct { - Data []ReleaseItem `json:"data,omitempty"` Status *PublishersReleaseGetResponseStatus `json:"status,omitempty"` + Data []ReleaseItem `json:"data,omitempty"` } -func (o *PublishersReleaseGetResponse) GetData() []ReleaseItem { +func (o *PublishersReleaseGetResponse) GetStatus() *PublishersReleaseGetResponseStatus { if o == nil { return nil } - return o.Data + return o.Status } -func (o *PublishersReleaseGetResponse) GetStatus() *PublishersReleaseGetResponseStatus { +func (o *PublishersReleaseGetResponse) GetData() []ReleaseItem { if o == nil { return nil } - return o.Status + return o.Data } diff --git a/internal/sdk/pkg/models/shared/publishersresponse400.go b/internal/sdk/pkg/models/shared/publishersresponse400.go index 3f4d543..99d27dc 100644 --- a/internal/sdk/pkg/models/shared/publishersresponse400.go +++ b/internal/sdk/pkg/models/shared/publishersresponse400.go @@ -3,20 +3,20 @@ package shared type PublishersResponse400 struct { - Result *string `json:"result,omitempty"` Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` } -func (o *PublishersResponse400) GetResult() *string { +func (o *PublishersResponse400) GetStatus() *int64 { if o == nil { return nil } - return o.Result + return o.Status } -func (o *PublishersResponse400) GetStatus() *int64 { +func (o *PublishersResponse400) GetResult() *string { if o == nil { return nil } - return o.Status + return o.Result } diff --git a/internal/sdk/pkg/models/shared/publisherupgradeprofilebulkrequest.go b/internal/sdk/pkg/models/shared/publisherupgradeprofilebulkrequest.go deleted file mode 100644 index ad863b5..0000000 --- a/internal/sdk/pkg/models/shared/publisherupgradeprofilebulkrequest.go +++ /dev/null @@ -1,44 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type PublisherUpgradeProfileBulkRequestApply struct { - PublisherUpgradeProfilesID *string `json:"publisher_upgrade_profiles_id,omitempty"` -} - -func (o *PublisherUpgradeProfileBulkRequestApply) GetPublisherUpgradeProfilesID() *string { - if o == nil { - return nil - } - return o.PublisherUpgradeProfilesID -} - -type PublisherUpgradeProfileBulkRequestPublishers struct { - Apply *PublisherUpgradeProfileBulkRequestApply `json:"apply,omitempty"` - ID []string `json:"id,omitempty"` -} - -func (o *PublisherUpgradeProfileBulkRequestPublishers) GetApply() *PublisherUpgradeProfileBulkRequestApply { - if o == nil { - return nil - } - return o.Apply -} - -func (o *PublisherUpgradeProfileBulkRequestPublishers) GetID() []string { - if o == nil { - return nil - } - return o.ID -} - -type PublisherUpgradeProfileBulkRequest struct { - Publishers *PublisherUpgradeProfileBulkRequestPublishers `json:"publishers,omitempty"` -} - -func (o *PublisherUpgradeProfileBulkRequest) GetPublishers() *PublisherUpgradeProfileBulkRequestPublishers { - if o == nil { - return nil - } - return o.Publishers -} diff --git a/internal/sdk/pkg/models/shared/publisherupgradeprofilebulkresponse.go b/internal/sdk/pkg/models/shared/publisherupgradeprofilebulkresponse.go deleted file mode 100644 index e1cf947..0000000 --- a/internal/sdk/pkg/models/shared/publisherupgradeprofilebulkresponse.go +++ /dev/null @@ -1,62 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -import ( - "encoding/json" - "fmt" -) - -type PublisherUpgradeProfileBulkResponseStatus string - -const ( - PublisherUpgradeProfileBulkResponseStatusSuccess PublisherUpgradeProfileBulkResponseStatus = "success" - PublisherUpgradeProfileBulkResponseStatusNotFound PublisherUpgradeProfileBulkResponseStatus = "not found" -) - -func (e PublisherUpgradeProfileBulkResponseStatus) ToPointer() *PublisherUpgradeProfileBulkResponseStatus { - return &e -} - -func (e *PublisherUpgradeProfileBulkResponseStatus) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "success": - fallthrough - case "not found": - *e = PublisherUpgradeProfileBulkResponseStatus(v) - return nil - default: - return fmt.Errorf("invalid value for PublisherUpgradeProfileBulkResponseStatus: %v", v) - } -} - -type PublisherUpgradeProfileBulkResponse struct { - Data []UpgradePublisherResponse `json:"data,omitempty"` - Status *PublisherUpgradeProfileBulkResponseStatus `json:"status,omitempty"` - Total *int `json:"total,omitempty"` -} - -func (o *PublisherUpgradeProfileBulkResponse) GetData() []UpgradePublisherResponse { - if o == nil { - return nil - } - return o.Data -} - -func (o *PublisherUpgradeProfileBulkResponse) GetStatus() *PublisherUpgradeProfileBulkResponseStatus { - if o == nil { - return nil - } - return o.Status -} - -func (o *PublisherUpgradeProfileBulkResponse) GetTotal() *int { - if o == nil { - return nil - } - return o.Total -} diff --git a/internal/sdk/pkg/models/shared/publisherupgradeprofilegetresponse.go b/internal/sdk/pkg/models/shared/publisherupgradeprofilegetresponse.go deleted file mode 100644 index 6b99ff3..0000000 --- a/internal/sdk/pkg/models/shared/publisherupgradeprofilegetresponse.go +++ /dev/null @@ -1,188 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -import ( - "encoding/json" - "fmt" -) - -type UpgradeProfiles struct { - CreatedAt *string `json:"created_at,omitempty"` - DockerTag *string `json:"docker_tag,omitempty"` - Enabled *bool `json:"enabled,omitempty"` - ExternalID *int `json:"external_id,omitempty"` - Frequency *string `json:"frequency,omitempty"` - ID *int `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - NextUpdateTime *int `json:"next_update_time,omitempty"` - NumAssociatedPublisher *int64 `json:"num_associated_publisher,omitempty"` - ReleaseType *string `json:"release_type,omitempty"` - Timezone *string `json:"timezone,omitempty"` - UpdatedAt *string `json:"updated_at,omitempty"` - UpgradingStage *int `json:"upgrading_stage,omitempty"` - WillStart *bool `json:"will_start,omitempty"` -} - -func (o *UpgradeProfiles) GetCreatedAt() *string { - if o == nil { - return nil - } - return o.CreatedAt -} - -func (o *UpgradeProfiles) GetDockerTag() *string { - if o == nil { - return nil - } - return o.DockerTag -} - -func (o *UpgradeProfiles) GetEnabled() *bool { - if o == nil { - return nil - } - return o.Enabled -} - -func (o *UpgradeProfiles) GetExternalID() *int { - if o == nil { - return nil - } - return o.ExternalID -} - -func (o *UpgradeProfiles) GetFrequency() *string { - if o == nil { - return nil - } - return o.Frequency -} - -func (o *UpgradeProfiles) GetID() *int { - if o == nil { - return nil - } - return o.ID -} - -func (o *UpgradeProfiles) GetName() *string { - if o == nil { - return nil - } - return o.Name -} - -func (o *UpgradeProfiles) GetNextUpdateTime() *int { - if o == nil { - return nil - } - return o.NextUpdateTime -} - -func (o *UpgradeProfiles) GetNumAssociatedPublisher() *int64 { - if o == nil { - return nil - } - return o.NumAssociatedPublisher -} - -func (o *UpgradeProfiles) GetReleaseType() *string { - if o == nil { - return nil - } - return o.ReleaseType -} - -func (o *UpgradeProfiles) GetTimezone() *string { - if o == nil { - return nil - } - return o.Timezone -} - -func (o *UpgradeProfiles) GetUpdatedAt() *string { - if o == nil { - return nil - } - return o.UpdatedAt -} - -func (o *UpgradeProfiles) GetUpgradingStage() *int { - if o == nil { - return nil - } - return o.UpgradingStage -} - -func (o *UpgradeProfiles) GetWillStart() *bool { - if o == nil { - return nil - } - return o.WillStart -} - -type PublisherUpgradeProfileGetResponseData struct { - UpgradeProfiles []UpgradeProfiles `json:"upgrade_profiles,omitempty"` -} - -func (o *PublisherUpgradeProfileGetResponseData) GetUpgradeProfiles() []UpgradeProfiles { - if o == nil { - return nil - } - return o.UpgradeProfiles -} - -type PublisherUpgradeProfileGetResponseStatus string - -const ( - PublisherUpgradeProfileGetResponseStatusSuccess PublisherUpgradeProfileGetResponseStatus = "success" - PublisherUpgradeProfileGetResponseStatusNotFound PublisherUpgradeProfileGetResponseStatus = "not found" -) - -func (e PublisherUpgradeProfileGetResponseStatus) ToPointer() *PublisherUpgradeProfileGetResponseStatus { - return &e -} - -func (e *PublisherUpgradeProfileGetResponseStatus) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "success": - fallthrough - case "not found": - *e = PublisherUpgradeProfileGetResponseStatus(v) - return nil - default: - return fmt.Errorf("invalid value for PublisherUpgradeProfileGetResponseStatus: %v", v) - } -} - -type PublisherUpgradeProfileGetResponse struct { - Data *PublisherUpgradeProfileGetResponseData `json:"data,omitempty"` - Status *PublisherUpgradeProfileGetResponseStatus `json:"status,omitempty"` - Total *int `json:"total,omitempty"` -} - -func (o *PublisherUpgradeProfileGetResponse) GetData() *PublisherUpgradeProfileGetResponseData { - if o == nil { - return nil - } - return o.Data -} - -func (o *PublisherUpgradeProfileGetResponse) GetStatus() *PublisherUpgradeProfileGetResponseStatus { - if o == nil { - return nil - } - return o.Status -} - -func (o *PublisherUpgradeProfileGetResponse) GetTotal() *int { - if o == nil { - return nil - } - return o.Total -} diff --git a/internal/sdk/pkg/models/shared/publisherupgradeprofilepostrequest.go b/internal/sdk/pkg/models/shared/publisherupgradeprofilepostrequest.go deleted file mode 100644 index 519e428..0000000 --- a/internal/sdk/pkg/models/shared/publisherupgradeprofilepostrequest.go +++ /dev/null @@ -1,62 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type PublisherUpgradeProfilePostRequest struct { - DockerTag *string `json:"docker_tag,omitempty"` - Enabled *bool `json:"enabled,omitempty"` - Frequency *string `json:"frequency,omitempty"` - Name *string `json:"name,omitempty"` - ReleaseType *string `json:"release_type,omitempty"` - Required interface{} `json:"required,omitempty"` - Timezone *string `json:"timezone,omitempty"` -} - -func (o *PublisherUpgradeProfilePostRequest) GetDockerTag() *string { - if o == nil { - return nil - } - return o.DockerTag -} - -func (o *PublisherUpgradeProfilePostRequest) GetEnabled() *bool { - if o == nil { - return nil - } - return o.Enabled -} - -func (o *PublisherUpgradeProfilePostRequest) GetFrequency() *string { - if o == nil { - return nil - } - return o.Frequency -} - -func (o *PublisherUpgradeProfilePostRequest) GetName() *string { - if o == nil { - return nil - } - return o.Name -} - -func (o *PublisherUpgradeProfilePostRequest) GetReleaseType() *string { - if o == nil { - return nil - } - return o.ReleaseType -} - -func (o *PublisherUpgradeProfilePostRequest) GetRequired() interface{} { - if o == nil { - return nil - } - return o.Required -} - -func (o *PublisherUpgradeProfilePostRequest) GetTimezone() *string { - if o == nil { - return nil - } - return o.Timezone -} diff --git a/internal/sdk/pkg/models/shared/publisherupgradeprofileputrequest.go b/internal/sdk/pkg/models/shared/publisherupgradeprofileputrequest.go deleted file mode 100644 index d7865db..0000000 --- a/internal/sdk/pkg/models/shared/publisherupgradeprofileputrequest.go +++ /dev/null @@ -1,62 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type PublisherUpgradeProfilePutRequest struct { - DockerTag *string `json:"docker_tag,omitempty"` - Enabled *bool `json:"enabled,omitempty"` - Frequency *string `json:"frequency,omitempty"` - ID *int `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - ReleaseType *string `json:"release_type,omitempty"` - Timezone *string `json:"timezone,omitempty"` -} - -func (o *PublisherUpgradeProfilePutRequest) GetDockerTag() *string { - if o == nil { - return nil - } - return o.DockerTag -} - -func (o *PublisherUpgradeProfilePutRequest) GetEnabled() *bool { - if o == nil { - return nil - } - return o.Enabled -} - -func (o *PublisherUpgradeProfilePutRequest) GetFrequency() *string { - if o == nil { - return nil - } - return o.Frequency -} - -func (o *PublisherUpgradeProfilePutRequest) GetID() *int { - if o == nil { - return nil - } - return o.ID -} - -func (o *PublisherUpgradeProfilePutRequest) GetName() *string { - if o == nil { - return nil - } - return o.Name -} - -func (o *PublisherUpgradeProfilePutRequest) GetReleaseType() *string { - if o == nil { - return nil - } - return o.ReleaseType -} - -func (o *PublisherUpgradeProfilePutRequest) GetTimezone() *string { - if o == nil { - return nil - } - return o.Timezone -} diff --git a/internal/sdk/pkg/models/shared/publisherupgradeprofileresponse.go b/internal/sdk/pkg/models/shared/publisherupgradeprofileresponse.go deleted file mode 100644 index 5d00afa..0000000 --- a/internal/sdk/pkg/models/shared/publisherupgradeprofileresponse.go +++ /dev/null @@ -1,73 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type PublisherUpgradeProfileResponseData struct { - DockerTag *string `json:"docker_tag,omitempty"` - Enabled *bool `json:"enabled,omitempty"` - Frequency *string `json:"frequency,omitempty"` - ID *int `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - ReleaseType *string `json:"release_type,omitempty"` - Timezone *string `json:"timezone,omitempty"` -} - -func (o *PublisherUpgradeProfileResponseData) GetDockerTag() *string { - if o == nil { - return nil - } - return o.DockerTag -} - -func (o *PublisherUpgradeProfileResponseData) GetEnabled() *bool { - if o == nil { - return nil - } - return o.Enabled -} - -func (o *PublisherUpgradeProfileResponseData) GetFrequency() *string { - if o == nil { - return nil - } - return o.Frequency -} - -func (o *PublisherUpgradeProfileResponseData) GetID() *int { - if o == nil { - return nil - } - return o.ID -} - -func (o *PublisherUpgradeProfileResponseData) GetName() *string { - if o == nil { - return nil - } - return o.Name -} - -func (o *PublisherUpgradeProfileResponseData) GetReleaseType() *string { - if o == nil { - return nil - } - return o.ReleaseType -} - -func (o *PublisherUpgradeProfileResponseData) GetTimezone() *string { - if o == nil { - return nil - } - return o.Timezone -} - -type PublisherUpgradeProfileResponse struct { - Data *PublisherUpgradeProfileResponseData `json:"data,omitempty"` -} - -func (o *PublisherUpgradeProfileResponse) GetData() *PublisherUpgradeProfileResponseData { - if o == nil { - return nil - } - return o.Data -} diff --git a/internal/sdk/pkg/models/shared/servicepublisherassignmentitem.go b/internal/sdk/pkg/models/shared/servicepublisherassignmentitem.go index 9172f0d..035ae11 100644 --- a/internal/sdk/pkg/models/shared/servicepublisherassignmentitem.go +++ b/internal/sdk/pkg/models/shared/servicepublisherassignmentitem.go @@ -4,8 +4,8 @@ package shared type Reachability struct { ErrorCode *int `json:"error_code,omitempty"` - ErrorString *string `json:"error_string,omitempty"` Reachable *bool `json:"reachable,omitempty"` + ErrorString *string `json:"error_string,omitempty"` } func (o *Reachability) GetErrorCode() *int { @@ -15,51 +15,51 @@ func (o *Reachability) GetErrorCode() *int { return o.ErrorCode } -func (o *Reachability) GetErrorString() *string { +func (o *Reachability) GetReachable() *bool { if o == nil { return nil } - return o.ErrorString + return o.Reachable } -func (o *Reachability) GetReachable() *bool { +func (o *Reachability) GetErrorString() *string { if o == nil { return nil } - return o.Reachable + return o.ErrorString } type ServicePublisherAssignmentItem struct { - Primary *bool `json:"primary,omitempty"` PublisherID *int `json:"publisher_id,omitempty"` - Reachability *Reachability `json:"reachability,omitempty"` ServiceID *int `json:"service_id,omitempty"` + Primary *bool `json:"primary,omitempty"` + Reachability *Reachability `json:"reachability,omitempty"` } -func (o *ServicePublisherAssignmentItem) GetPrimary() *bool { +func (o *ServicePublisherAssignmentItem) GetPublisherID() *int { if o == nil { return nil } - return o.Primary + return o.PublisherID } -func (o *ServicePublisherAssignmentItem) GetPublisherID() *int { +func (o *ServicePublisherAssignmentItem) GetServiceID() *int { if o == nil { return nil } - return o.PublisherID + return o.ServiceID } -func (o *ServicePublisherAssignmentItem) GetReachability() *Reachability { +func (o *ServicePublisherAssignmentItem) GetPrimary() *bool { if o == nil { return nil } - return o.Reachability + return o.Primary } -func (o *ServicePublisherAssignmentItem) GetServiceID() *int { +func (o *ServicePublisherAssignmentItem) GetReachability() *Reachability { if o == nil { return nil } - return o.ServiceID + return o.Reachability } diff --git a/internal/sdk/pkg/models/shared/tagitemnoid.go b/internal/sdk/pkg/models/shared/tagitemnoid.go index 869ed99..474a55b 100644 --- a/internal/sdk/pkg/models/shared/tagitemnoid.go +++ b/internal/sdk/pkg/models/shared/tagitemnoid.go @@ -3,7 +3,7 @@ package shared import ( - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" ) type TagItemNoID struct { diff --git a/internal/sdk/pkg/models/shared/tagrequest.go b/internal/sdk/pkg/models/shared/tagrequest.go deleted file mode 100644 index 9104c35..0000000 --- a/internal/sdk/pkg/models/shared/tagrequest.go +++ /dev/null @@ -1,38 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type TagRequest struct { - ID *string `json:"id,omitempty"` - Ids []string `json:"ids,omitempty"` - PublisherTags []TagItem `json:"publisher_tags,omitempty"` - Tags []TagItem `json:"tags,omitempty"` -} - -func (o *TagRequest) GetID() *string { - if o == nil { - return nil - } - return o.ID -} - -func (o *TagRequest) GetIds() []string { - if o == nil { - return nil - } - return o.Ids -} - -func (o *TagRequest) GetPublisherTags() []TagItem { - if o == nil { - return nil - } - return o.PublisherTags -} - -func (o *TagRequest) GetTags() []TagItem { - if o == nil { - return nil - } - return o.Tags -} diff --git a/internal/sdk/pkg/models/shared/tagresponse.go b/internal/sdk/pkg/models/shared/tagresponse.go deleted file mode 100644 index 8c684ff..0000000 --- a/internal/sdk/pkg/models/shared/tagresponse.go +++ /dev/null @@ -1,33 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type TagResponseData struct { - TagID *int `json:"tag_id,omitempty"` - TagName *string `json:"tag_name,omitempty"` -} - -func (o *TagResponseData) GetTagID() *int { - if o == nil { - return nil - } - return o.TagID -} - -func (o *TagResponseData) GetTagName() *string { - if o == nil { - return nil - } - return o.TagName -} - -type TagResponse struct { - Data []TagResponseData `json:"data,omitempty"` -} - -func (o *TagResponse) GetData() []TagResponseData { - if o == nil { - return nil - } - return o.Data -} diff --git a/internal/sdk/pkg/models/shared/tagresponse400.go b/internal/sdk/pkg/models/shared/tagresponse400.go deleted file mode 100644 index a55df75..0000000 --- a/internal/sdk/pkg/models/shared/tagresponse400.go +++ /dev/null @@ -1,22 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -type TagResponse400 struct { - Result *string `json:"result,omitempty"` - Status *int64 `json:"status,omitempty"` -} - -func (o *TagResponse400) GetResult() *string { - if o == nil { - return nil - } - return o.Result -} - -func (o *TagResponse400) GetStatus() *int64 { - if o == nil { - return nil - } - return o.Status -} diff --git a/internal/sdk/pkg/models/shared/upgradepublisherresponse.go b/internal/sdk/pkg/models/shared/upgradepublisherresponse.go deleted file mode 100644 index d7e9734..0000000 --- a/internal/sdk/pkg/models/shared/upgradepublisherresponse.go +++ /dev/null @@ -1,121 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package shared - -import ( - "encoding/json" - "fmt" -) - -type UpgradePublisherResponseAssessment struct { -} - -type UpgradePublisherResponseStatus string - -const ( - UpgradePublisherResponseStatusConnected UpgradePublisherResponseStatus = "connected" - UpgradePublisherResponseStatusNotRegistered UpgradePublisherResponseStatus = "not registered" -) - -func (e UpgradePublisherResponseStatus) ToPointer() *UpgradePublisherResponseStatus { - return &e -} - -func (e *UpgradePublisherResponseStatus) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "connected": - fallthrough - case "not registered": - *e = UpgradePublisherResponseStatus(v) - return nil - default: - return fmt.Errorf("invalid value for UpgradePublisherResponseStatus: %v", v) - } -} - -type UpgradePublisherResponse struct { - Assessment *UpgradePublisherResponseAssessment `json:"assessment,omitempty"` - CommonName *string `json:"common_name,omitempty"` - Lbrokerconnect *bool `json:"lbrokerconnect,omitempty"` - PublisherID *int `json:"publisher_id,omitempty"` - PublisherName *string `json:"publisher_name,omitempty"` - PublisherUpgradeProfileID *int `json:"publisher_upgrade_profile_id,omitempty"` - Registered *bool `json:"registered,omitempty"` - Status *UpgradePublisherResponseStatus `json:"status,omitempty"` - StitcherID *int `json:"stitcher_id,omitempty"` - Tags []TagItem `json:"tags,omitempty"` -} - -func (o *UpgradePublisherResponse) GetAssessment() *UpgradePublisherResponseAssessment { - if o == nil { - return nil - } - return o.Assessment -} - -func (o *UpgradePublisherResponse) GetCommonName() *string { - if o == nil { - return nil - } - return o.CommonName -} - -func (o *UpgradePublisherResponse) GetLbrokerconnect() *bool { - if o == nil { - return nil - } - return o.Lbrokerconnect -} - -func (o *UpgradePublisherResponse) GetPublisherID() *int { - if o == nil { - return nil - } - return o.PublisherID -} - -func (o *UpgradePublisherResponse) GetPublisherName() *string { - if o == nil { - return nil - } - return o.PublisherName -} - -func (o *UpgradePublisherResponse) GetPublisherUpgradeProfileID() *int { - if o == nil { - return nil - } - return o.PublisherUpgradeProfileID -} - -func (o *UpgradePublisherResponse) GetRegistered() *bool { - if o == nil { - return nil - } - return o.Registered -} - -func (o *UpgradePublisherResponse) GetStatus() *UpgradePublisherResponseStatus { - if o == nil { - return nil - } - return o.Status -} - -func (o *UpgradePublisherResponse) GetStitcherID() *int { - if o == nil { - return nil - } - return o.StitcherID -} - -func (o *UpgradePublisherResponse) GetTags() []TagItem { - if o == nil { - return nil - } - return o.Tags -} diff --git a/internal/sdk/pkg/utils/form.go b/internal/sdk/pkg/utils/form.go index 1875c6d..9811578 100644 --- a/internal/sdk/pkg/utils/form.go +++ b/internal/sdk/pkg/utils/form.go @@ -12,7 +12,7 @@ import ( "github.com/ericlagergren/decimal" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/types" ) func populateForm(paramName string, explode bool, objType reflect.Type, objValue reflect.Value, delimiter string, getFieldName func(reflect.StructField) string) url.Values { diff --git a/internal/sdk/pkg/utils/json.go b/internal/sdk/pkg/utils/json.go index 07fe657..e744801 100644 --- a/internal/sdk/pkg/utils/json.go +++ b/internal/sdk/pkg/utils/json.go @@ -12,7 +12,7 @@ import ( "time" "unsafe" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/types" "github.com/ericlagergren/decimal" ) @@ -50,7 +50,7 @@ func MarshalJSON(v interface{}, tag reflect.StructTag, topLevel bool) ([]byte, e } } - if isNil(field.Type, fieldVal) { + if isNil(field.Type, fieldVal) && field.Tag.Get("const") == "" { if omitEmpty { continue } @@ -66,7 +66,11 @@ func MarshalJSON(v interface{}, tag reflect.StructTag, topLevel bool) ([]byte, e } if additionalProperties == "true" { - if field.Type.Kind() != reflect.Map { + if isNil(field.Type, fieldVal) { + continue + } + fieldVal := trueReflectValue(fieldVal) + if fieldVal.Type().Kind() != reflect.Map { return nil, fmt.Errorf("additionalProperties must be a map") } @@ -202,20 +206,33 @@ func UnmarshalJSON(b []byte, v interface{}, tag reflect.StructTag, topLevel bool } if additionalPropertiesField != nil && additionalPropertiesValue != nil { - if additionalPropertiesValue.Kind() != reflect.Map { + typeOfMap := additionalPropertiesField.Type + if additionalPropertiesValue.Type().Kind() == reflect.Interface { + typeOfMap = reflect.TypeOf(map[string]interface{}{}) + } else if additionalPropertiesValue.Type().Kind() != reflect.Map { return fmt.Errorf("additionalProperties must be a map") } - additionalPropertiesValue.Set(reflect.MakeMap(additionalPropertiesField.Type)) + mapValue := reflect.MakeMap(typeOfMap) for key, value := range unmarhsaled { - val := reflect.New(additionalPropertiesField.Type.Elem()) + val := reflect.New(typeOfMap.Elem()) if err := unmarshalValue(value, val, additionalPropertiesField.Tag, disallowUnknownFields); err != nil { return err } - additionalPropertiesValue.SetMapIndex(reflect.ValueOf(key), val.Elem()) + if val.Elem().Type().String() == typeOfMap.Elem().String() { + mapValue.SetMapIndex(reflect.ValueOf(key), val.Elem()) + } else { + mapValue.SetMapIndex(reflect.ValueOf(key), trueReflectValue(val)) + } + + } + if additionalPropertiesValue.Type().Kind() == reflect.Interface { + additionalPropertiesValue.Set(mapValue) + } else { + additionalPropertiesValue.Set(mapValue) } } } @@ -341,7 +358,7 @@ func handleDefaultConstValue(tagValue string, val interface{}, tag reflect.Struc return []byte(fmt.Sprintf(`"%s"`, tagValue)) default: if typ.Kind() == reflect.String { - return []byte(fmt.Sprintf(`"%s"`, tagValue)) + return []byte(fmt.Sprintf("%q", tagValue)) } } diff --git a/internal/sdk/pkg/utils/pathparams.go b/internal/sdk/pkg/utils/pathparams.go index 6185ace..9501852 100644 --- a/internal/sdk/pkg/utils/pathparams.go +++ b/internal/sdk/pkg/utils/pathparams.go @@ -13,7 +13,7 @@ import ( "github.com/ericlagergren/decimal" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/types" ) func GenerateURL(ctx context.Context, serverURL, path string, pathParams interface{}, globals map[string]map[string]map[string]interface{}) (string, error) { diff --git a/internal/sdk/pkg/utils/security.go b/internal/sdk/pkg/utils/security.go index fa5eff7..ea1d4b2 100644 --- a/internal/sdk/pkg/utils/security.go +++ b/internal/sdk/pkg/utils/security.go @@ -204,9 +204,9 @@ func parseSecuritySchemeValue(client *securityConfig, schemeTag *securityTag, se panic("not supported") } case "openIdConnect": - client.headers[secTag.Name] = valToString(val) + client.headers[secTag.Name] = prefixBearer(valToString(val)) case "oauth2": - client.headers[secTag.Name] = valToString(val) + client.headers[secTag.Name] = prefixBearer(valToString(val)) case "http": switch schemeTag.SubType { case "bearer": diff --git a/internal/sdk/publishertoken.go b/internal/sdk/publishertoken.go index 45426f5..b9aa87a 100644 --- a/internal/sdk/publishertoken.go +++ b/internal/sdk/publishertoken.go @@ -6,10 +6,10 @@ import ( "bytes" "context" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/sdkerrors" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/sdkerrors" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" "io" "net/http" ) diff --git a/internal/sdk/sdk.go b/internal/sdk/sdk.go index 504f3da..f7d59ee 100644 --- a/internal/sdk/sdk.go +++ b/internal/sdk/sdk.go @@ -6,10 +6,10 @@ import ( "bytes" "context" "fmt" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/operations" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/sdkerrors" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/models/shared" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/sdkerrors" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" "io" "net/http" "strings" @@ -68,29 +68,28 @@ func (c *sdkConfiguration) GetServerDetails() (string, map[string]string) { return ServerList[c.ServerIndex], c.ServerDefaults[c.ServerIndex] } -// SDK - npa_private_app_tags: NPA Private app tag operations. -type SDK struct { - NPAPublishers *NPAPublishers - NPAPublishersReleases *NPAPublishersReleases - NPAPublishersApps *NPAPublishersApps - PublisherToken *PublisherToken - NPAPublisherUpgradeProfiles *NPAPublisherUpgradeProfiles +// TerraformProviderNs - Netskope Terraform Provider: Combined specification to produce netskope terraform provider via speakeasy +type TerraformProviderNs struct { + NPAPublishers *NPAPublishers + PublisherToken *PublisherToken + NPAPublishersApps *NPAPublishersApps + NPAPublishersReleases *NPAPublishersReleases sdkConfiguration sdkConfiguration } -type SDKOption func(*SDK) +type SDKOption func(*TerraformProviderNs) // WithServerURL allows the overriding of the default server URL func WithServerURL(serverURL string) SDKOption { - return func(sdk *SDK) { + return func(sdk *TerraformProviderNs) { sdk.sdkConfiguration.ServerURL = serverURL } } // WithTemplatedServerURL allows the overriding of the default server URL with a templated URL populated with the provided parameters func WithTemplatedServerURL(serverURL string, params map[string]string) SDKOption { - return func(sdk *SDK) { + return func(sdk *TerraformProviderNs) { if params != nil { serverURL = utils.ReplaceParameters(serverURL, params) } @@ -101,7 +100,7 @@ func WithTemplatedServerURL(serverURL string, params map[string]string) SDKOptio // WithServerIndex allows the overriding of the default server by index func WithServerIndex(serverIndex int) SDKOption { - return func(sdk *SDK) { + return func(sdk *TerraformProviderNs) { if serverIndex < 0 || serverIndex >= len(ServerList) { panic(fmt.Errorf("server index %d out of range", serverIndex)) } @@ -112,7 +111,7 @@ func WithServerIndex(serverIndex int) SDKOption { // WithTenant allows setting the tenant variable for url substitution func WithTenant(tenant string) SDKOption { - return func(sdk *SDK) { + return func(sdk *TerraformProviderNs) { for idx := range sdk.sdkConfiguration.ServerDefaults { if _, ok := sdk.sdkConfiguration.ServerDefaults[idx]["tenant"]; !ok { continue @@ -125,7 +124,7 @@ func WithTenant(tenant string) SDKOption { // WithClient allows the overriding of the default HTTP client used by the SDK func WithClient(client HTTPClient) SDKOption { - return func(sdk *SDK) { + return func(sdk *TerraformProviderNs) { sdk.sdkConfiguration.DefaultClient = client } } @@ -138,14 +137,14 @@ func withSecurity(security interface{}) func(context.Context) (interface{}, erro // WithSecurity configures the SDK to use the provided security details func WithSecurity(security shared.Security) SDKOption { - return func(sdk *SDK) { + return func(sdk *TerraformProviderNs) { sdk.sdkConfiguration.Security = withSecurity(security) } } // WithSecuritySource configures the SDK to invoke the Security Source function on each method call to determine authentication func WithSecuritySource(security func(context.Context) (shared.Security, error)) SDKOption { - return func(sdk *SDK) { + return func(sdk *TerraformProviderNs) { sdk.sdkConfiguration.Security = func(ctx context.Context) (interface{}, error) { return security(ctx) } @@ -153,20 +152,20 @@ func WithSecuritySource(security func(context.Context) (shared.Security, error)) } func WithRetryConfig(retryConfig utils.RetryConfig) SDKOption { - return func(sdk *SDK) { + return func(sdk *TerraformProviderNs) { sdk.sdkConfiguration.RetryConfig = &retryConfig } } // New creates a new instance of the SDK with the provided options -func New(opts ...SDKOption) *SDK { - sdk := &SDK{ +func New(opts ...SDKOption) *TerraformProviderNs { + sdk := &TerraformProviderNs{ sdkConfiguration: sdkConfiguration{ Language: "go", OpenAPIDocVersion: "1.0.0", - SDKVersion: "0.0.1", - GenVersion: "2.194.1", - UserAgent: "speakeasy-sdk/go 0.0.1 2.194.1 1.0.0 ns", + SDKVersion: "0.0.2", + GenVersion: "2.281.2", + UserAgent: "speakeasy-sdk/go 0.0.2 2.281.2 1.0.0 terraform", ServerDefaults: []map[string]string{ { "tenant": "demo", @@ -192,164 +191,25 @@ func New(opts ...SDKOption) *SDK { sdk.NPAPublishers = newNPAPublishers(sdk.sdkConfiguration) - sdk.NPAPublishersReleases = newNPAPublishersReleases(sdk.sdkConfiguration) + sdk.PublisherToken = newPublisherToken(sdk.sdkConfiguration) sdk.NPAPublishersApps = newNPAPublishersApps(sdk.sdkConfiguration) - sdk.PublisherToken = newPublisherToken(sdk.sdkConfiguration) - - sdk.NPAPublisherUpgradeProfiles = newNPAPublisherUpgradeProfiles(sdk.sdkConfiguration) + sdk.NPAPublishersReleases = newNPAPublishersReleases(sdk.sdkConfiguration) return sdk } -// DeletePolicyNpaPolicygroupsID - Delete a npa policy group -// Delete a npa policy group with group id -func (s *SDK) DeletePolicyNpaPolicygroupsID(ctx context.Context, request operations.DeletePolicyNpaPolicygroupsIDRequest) (*operations.DeletePolicyNpaPolicygroupsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/policygroups/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.DeletePolicyNpaPolicygroupsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.DeletePolicyNpaPolicygroupsIDResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicygroupResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicygroupResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// DeletePolicyNpaRulesID - Delete a npa policy -// Delete a npa policy with rule id -func (s *SDK) DeletePolicyNpaRulesID(ctx context.Context, request operations.DeletePolicyNpaRulesIDRequest) (*operations.DeletePolicyNpaRulesIDResponse, error) { +// PatchInfrastructurePublishersPublisherID - Patch a publisher +// patch a publisher based on publisher id +func (s *TerraformProviderNs) PatchInfrastructurePublishersPublisherID(ctx context.Context, request operations.PatchInfrastructurePublishersPublisherIDRequest) (*operations.PatchInfrastructurePublishersPublisherIDResponse, error) { baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/rules/{id}", request, nil) + url, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publishers/{publisher_id}", request, nil) if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } - req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.DeletePolicyNpaRulesIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.DeletePolicyNpaRulesIDResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicyResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicyResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// DeleteSteeringAppsPrivateTags - bulk delete tags for specified private apps -// Bulk delete tags for specified private apps -func (s *SDK) DeleteSteeringAppsPrivateTags(ctx context.Context, request shared.TagRequest) (*operations.DeleteSteeringAppsPrivateTagsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private/tags" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PublisherPutRequest", "json", `request:"mediaType=application/json"`) if err != nil { return nil, fmt.Errorf("error serializing request body: %w", err) } @@ -360,7 +220,7 @@ func (s *SDK) DeleteSteeringAppsPrivateTags(ctx context.Context, request shared. debugBody := bytes.NewBuffer([]byte{}) debugReader := io.TeeReader(bodyReader, debugBody) - req, err := http.NewRequestWithContext(ctx, "DELETE", url, debugReader) + req, err := http.NewRequestWithContext(ctx, "PATCH", url, debugReader) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } @@ -369,89 +229,9 @@ func (s *SDK) DeleteSteeringAppsPrivateTags(ctx context.Context, request shared. req.Header.Set("Content-Type", reqContentType) - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.DeleteSteeringAppsPrivateTagsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// DeleteSteeringAppsPrivateTagsTagID - Delete a private app tag based on tag id -// Delete a private app tag based on tag id -func (s *SDK) DeleteSteeringAppsPrivateTagsTagID(ctx context.Context, request operations.DeleteSteeringAppsPrivateTagsTagIDRequest) (*operations.DeleteSteeringAppsPrivateTagsTagIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/tags/{tag_id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "TagRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "DELETE", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) client := s.sdkConfiguration.SecurityClient @@ -473,7 +253,7 @@ func (s *SDK) DeleteSteeringAppsPrivateTagsTagID(ctx context.Context, request op contentType := httpRes.Header.Get("Content-Type") - res := &operations.DeleteSteeringAppsPrivateTagsTagIDResponse{ + res := &operations.PatchInfrastructurePublishersPublisherIDResponse{ StatusCode: httpRes.StatusCode, ContentType: contentType, RawResponse: httpRes, @@ -482,3107 +262,24 @@ func (s *SDK) DeleteSteeringAppsPrivateTagsTagID(ctx context.Context, request op case httpRes.StatusCode == 200: switch { case utils.MatchContentType(contentType, `application/json`): - var out operations.DeleteSteeringAppsPrivateTagsTagIDResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// DeleteSteeringAppsPrivatePrivateAppID - Delete a private application -// Delete a private application based on private app id -func (s *SDK) DeleteSteeringAppsPrivatePrivateAppID(ctx context.Context, request operations.DeleteSteeringAppsPrivatePrivateAppIDRequest) (*operations.DeleteSteeringAppsPrivatePrivateAppIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/{private_app_id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.DeleteSteeringAppsPrivatePrivateAppIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.DeleteSteeringAppsPrivatePrivateAppIDResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// DeleteSteeringGreTunnelsID - Delete GRE tunnel -// API to delete GRE tunnel using id -func (s *SDK) DeleteSteeringGreTunnelsID(ctx context.Context, request operations.DeleteSteeringGreTunnelsIDRequest) (*operations.DeleteSteeringGreTunnelsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/gre/tunnels/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.DeleteSteeringGreTunnelsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 404: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse404 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse404 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// DeleteSteeringIpsecTunnelsID - Delete IPSec tunnel -// API to delete IPSec tunnel using id -func (s *SDK) DeleteSteeringIpsecTunnelsID(ctx context.Context, request operations.DeleteSteeringIpsecTunnelsIDRequest) (*operations.DeleteSteeringIpsecTunnelsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/ipsec/tunnels/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.DeleteSteeringIpsecTunnelsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 404: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse404 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse404 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetInfrastructurePublishersAlertsconfiguration - Get list of publisher alerts -// Get list of publisher alerts -func (s *SDK) GetInfrastructurePublishersAlertsconfiguration(ctx context.Context) (*operations.GetInfrastructurePublishersAlertsconfigurationResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publishers/alertsconfiguration" - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetInfrastructurePublishersAlertsconfigurationResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PublishersAlertGetResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PublishersAlertGetResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PublishersResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PublishersResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetPolicyNpaPolicygroups - Get list of npa policy groups -// Get list of npa policy groups -func (s *SDK) GetPolicyNpaPolicygroups(ctx context.Context, request operations.GetPolicyNpaPolicygroupsRequest) (*operations.GetPolicyNpaPolicygroupsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/policy/npa/policygroups" - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetPolicyNpaPolicygroupsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicygroupResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicygroupResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicygroupResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicygroupResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetPolicyNpaPolicygroupsID - Get a npa policy group -// Get a npa policy group based on group id -func (s *SDK) GetPolicyNpaPolicygroupsID(ctx context.Context, request operations.GetPolicyNpaPolicygroupsIDRequest) (*operations.GetPolicyNpaPolicygroupsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/policygroups/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetPolicyNpaPolicygroupsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.GetPolicyNpaPolicygroupsIDResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicygroupResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicygroupResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetPolicyNpaRules - Get list of npa policies -// Get list of npa policies -func (s *SDK) GetPolicyNpaRules(ctx context.Context, request operations.GetPolicyNpaRulesRequest) (*operations.GetPolicyNpaRulesResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/policy/npa/rules" - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetPolicyNpaRulesResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicyListResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicyListResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicyResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicyResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetPolicyNpaRulesID - Get a npa policy -// Get a npa policy based on policy rule id -func (s *SDK) GetPolicyNpaRulesID(ctx context.Context, request operations.GetPolicyNpaRulesIDRequest) (*operations.GetPolicyNpaRulesIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/rules/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetPolicyNpaRulesIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.GetPolicyNpaRulesIDResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicyResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicyResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringAppsPrivate - Get list of private applications -// Get list of private applications -func (s *SDK) GetSteeringAppsPrivate(ctx context.Context, request operations.GetSteeringAppsPrivateRequest) (*operations.GetSteeringAppsPrivateResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private" - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringAppsPrivateResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsGetResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsGetResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringAppsPrivateTags - Get list of private app tags -// Get list of private app tags -func (s *SDK) GetSteeringAppsPrivateTags(ctx context.Context) (*operations.GetSteeringAppsPrivateTagsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private/tags" - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringAppsPrivateTagsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringAppsPrivateTagsTagID - Get a private app tag based on tag id -// Get a private app tag based on tag id -func (s *SDK) GetSteeringAppsPrivateTagsTagID(ctx context.Context, request operations.GetSteeringAppsPrivateTagsTagIDRequest) (*operations.GetSteeringAppsPrivateTagsTagIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/tags/{tag_id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringAppsPrivateTagsTagIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringAppsPrivatePrivateAppID - Get a private application -// Get a private application based on private app id -func (s *SDK) GetSteeringAppsPrivatePrivateAppID(ctx context.Context, request operations.GetSteeringAppsPrivatePrivateAppIDRequest) (*operations.GetSteeringAppsPrivatePrivateAppIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/{private_app_id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringAppsPrivatePrivateAppIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringGrePops - Get GRE points of presence(POPs) list -// API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. -func (s *SDK) GetSteeringGrePops(ctx context.Context, request operations.GetSteeringGrePopsRequest) (*operations.GetSteeringGrePopsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/gre/pops" - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringGrePopsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GrePopResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GrePopResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringGrePopsID - Get GRE point of presence(POP) -// API to get GRE POP using id. -func (s *SDK) GetSteeringGrePopsID(ctx context.Context, request operations.GetSteeringGrePopsIDRequest) (*operations.GetSteeringGrePopsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/gre/pops/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringGrePopsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GrePopResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GrePopResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 404: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse404 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse404 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringGreTunnels - Get GRE tunnels list -// API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters -func (s *SDK) GetSteeringGreTunnels(ctx context.Context, request operations.GetSteeringGreTunnelsRequest) (*operations.GetSteeringGreTunnelsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/gre/tunnels" - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringGreTunnelsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreTunnelResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreTunnelResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringGreTunnelsID - Get GRE tunnel -// API to get GRE tunnel using id. -func (s *SDK) GetSteeringGreTunnelsID(ctx context.Context, request operations.GetSteeringGreTunnelsIDRequest) (*operations.GetSteeringGreTunnelsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/gre/tunnels/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringGreTunnelsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreTunnelResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreTunnelResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 404: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse404 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse404 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringIpsecPops - Get IPSec points of presence(POPs) list -// API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. -func (s *SDK) GetSteeringIpsecPops(ctx context.Context, request operations.GetSteeringIpsecPopsRequest) (*operations.GetSteeringIpsecPopsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/ipsec/pops" - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringIpsecPopsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecPopResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecPopResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringIpsecPopsID - Get IPSec point of presence(POP) -// API to get IPSec POP using id. -func (s *SDK) GetSteeringIpsecPopsID(ctx context.Context, request operations.GetSteeringIpsecPopsIDRequest) (*operations.GetSteeringIpsecPopsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/ipsec/pops/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringIpsecPopsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecPopResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecPopResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 404: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse404 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse404 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringIpsecTunnels - Get IPSec tunnels list -// API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters -func (s *SDK) GetSteeringIpsecTunnels(ctx context.Context, request operations.GetSteeringIpsecTunnelsRequest) (*operations.GetSteeringIpsecTunnelsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/ipsec/tunnels" - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringIpsecTunnelsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecTunnelResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecTunnelResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringIpsecTunnelsID - Get IPSec tunnel -// API to get IPSec tunnel using id. -func (s *SDK) GetSteeringIpsecTunnelsID(ctx context.Context, request operations.GetSteeringIpsecTunnelsIDRequest) (*operations.GetSteeringIpsecTunnelsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/ipsec/tunnels/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringIpsecTunnelsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecTunnelResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecTunnelResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 404: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse404 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse404 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PatchInfrastructurePublishersPublisherID - Patch a publisher -// patch a publisher based on publisher id -func (s *SDK) PatchInfrastructurePublishersPublisherID(ctx context.Context, request operations.PatchInfrastructurePublishersPublisherIDRequest) (*operations.PatchInfrastructurePublishersPublisherIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publishers/{publisher_id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PublisherPutRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PATCH", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PatchInfrastructurePublishersPublisherIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PublisherResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PublisherResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PublishersResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PublishersResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PatchPolicyNpaPolicygroupsID - Patch a npa policy group -// Patch a npa policy group based on group id -func (s *SDK) PatchPolicyNpaPolicygroupsID(ctx context.Context, request operations.PatchPolicyNpaPolicygroupsIDRequest) (*operations.PatchPolicyNpaPolicygroupsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/policygroups/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "NpaPolicygroupRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PATCH", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PatchPolicyNpaPolicygroupsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.PatchPolicyNpaPolicygroupsIDResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicygroupResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicygroupResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PatchPolicyNpaRulesID - Patch a npa policy -// Patch a npa policy based on rule id -func (s *SDK) PatchPolicyNpaRulesID(ctx context.Context, request operations.PatchPolicyNpaRulesIDRequest) (*operations.PatchPolicyNpaRulesIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/rules/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "NpaPolicyRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PATCH", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PatchPolicyNpaRulesIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.PatchPolicyNpaRulesIDResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicyResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicyResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PatchSteeringAppsPrivateTags - bulk update tags to associate with specified private apps -// Bulk update tags to associate with specified private apps -func (s *SDK) PatchSteeringAppsPrivateTags(ctx context.Context, request shared.TagRequest) (*operations.PatchSteeringAppsPrivateTagsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private/tags" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PATCH", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PatchSteeringAppsPrivateTagsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PatchSteeringAppsPrivatePrivateAppID - Patch a private application -// Patch a private application based on private app id -func (s *SDK) PatchSteeringAppsPrivatePrivateAppID(ctx context.Context, request operations.PatchSteeringAppsPrivatePrivateAppIDRequest) (*operations.PatchSteeringAppsPrivatePrivateAppIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/{private_app_id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PrivateAppsPutRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PATCH", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PatchSteeringAppsPrivatePrivateAppIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PatchSteeringGreTunnelsID - Update GRE tunnel -// API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. -func (s *SDK) PatchSteeringGreTunnelsID(ctx context.Context, request operations.PatchSteeringGreTunnelsIDRequest) (*operations.PatchSteeringGreTunnelsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/gre/tunnels/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "GreTunnelRequestPatch", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PATCH", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PatchSteeringGreTunnelsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GrePatchResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GrePatchResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 404: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse404 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse404 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PatchSteeringIpsecTunnelsID - Update IPSec tunnel -// API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. -func (s *SDK) PatchSteeringIpsecTunnelsID(ctx context.Context, request operations.PatchSteeringIpsecTunnelsIDRequest) (*operations.PatchSteeringIpsecTunnelsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/ipsec/tunnels/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "IpsecTunnelRequestPatch", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PATCH", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PatchSteeringIpsecTunnelsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecPatchResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecPatchResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 404: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse404 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse404 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PostPolicyNpaPolicygroups - Create a npa policy group -// Create a npa policy group -func (s *SDK) PostPolicyNpaPolicygroups(ctx context.Context, request operations.PostPolicyNpaPolicygroupsRequest) (*operations.PostPolicyNpaPolicygroupsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/policy/npa/policygroups" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "NpaPolicygroupRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PostPolicyNpaPolicygroupsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.PostPolicyNpaPolicygroupsResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicygroupResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicygroupResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PostPolicyNpaRules - Create a npa policy -// Create a policy -func (s *SDK) PostPolicyNpaRules(ctx context.Context, request shared.NpaPolicyRequest) (*operations.PostPolicyNpaRulesResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/policy/npa/rules" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PostPolicyNpaRulesResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.PostPolicyNpaRulesResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicyResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicyResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PostSteeringAppsPrivate - Create a private application -// Create a private application -func (s *SDK) PostSteeringAppsPrivate(ctx context.Context, request operations.PostSteeringAppsPrivateRequest) (*operations.PostSteeringAppsPrivateResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PrivateAppsRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PostSteeringAppsPrivateResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PostSteeringAppsPrivateGetpolicyinuse - Retrieve number of policy in use for specified private apps -// Retrieve number of policy in use for specified private apps -func (s *SDK) PostSteeringAppsPrivateGetpolicyinuse(ctx context.Context, request operations.PostSteeringAppsPrivateGetpolicyinuseRequestBody) (*operations.PostSteeringAppsPrivateGetpolicyinuseResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private/getpolicyinuse" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PostSteeringAppsPrivateGetpolicyinuseResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.PostSteeringAppsPrivateGetpolicyinuseResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PostSteeringAppsPrivateTags - create tags for private apps -// Create tags for private apps -func (s *SDK) PostSteeringAppsPrivateTags(ctx context.Context, request shared.TagRequest) (*operations.PostSteeringAppsPrivateTagsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private/tags" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PostSteeringAppsPrivateTagsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse + var out shared.PublisherResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.TagResponse = &out + res.PublisherResponse = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse400 + var out shared.PublishersResponse400 if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.TagResponse400 = &out + res.PublishersResponse400 = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } @@ -3591,11 +288,11 @@ func (s *SDK) PostSteeringAppsPrivateTags(ctx context.Context, request shared.Ta return res, nil } -// PostSteeringAppsPrivateTagsGetpolicyinuse - Retrieve number of policy in use for specified tags -// Retrieve number of policy in use for specified tags -func (s *SDK) PostSteeringAppsPrivateTagsGetpolicyinuse(ctx context.Context, request operations.PostSteeringAppsPrivateTagsGetpolicyinuseRequestBody) (*operations.PostSteeringAppsPrivateTagsGetpolicyinuseResponse, error) { +// PutInfrastructurePublishersBulk - Trigger bulk publisher update action +// Trigger bulk publisher update action +func (s *TerraformProviderNs) PutInfrastructurePublishersBulk(ctx context.Context, request shared.PublisherBulkRequest) (*operations.PutInfrastructurePublishersBulkResponse, error) { baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private/tags/getpolicyinuse" + url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publishers/bulk" bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) if err != nil { @@ -3608,7 +305,7 @@ func (s *SDK) PostSteeringAppsPrivateTagsGetpolicyinuse(ctx context.Context, req debugBody := bytes.NewBuffer([]byte{}) debugReader := io.TeeReader(bodyReader, debugBody) - req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) + req, err := http.NewRequestWithContext(ctx, "PUT", url, debugReader) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } @@ -3637,7 +334,7 @@ func (s *SDK) PostSteeringAppsPrivateTagsGetpolicyinuse(ctx context.Context, req contentType := httpRes.Header.Get("Content-Type") - res := &operations.PostSteeringAppsPrivateTagsGetpolicyinuseResponse{ + res := &operations.PutInfrastructurePublishersBulkResponse{ StatusCode: httpRes.StatusCode, ContentType: contentType, RawResponse: httpRes, @@ -3646,24 +343,24 @@ func (s *SDK) PostSteeringAppsPrivateTagsGetpolicyinuse(ctx context.Context, req case httpRes.StatusCode == 200: switch { case utils.MatchContentType(contentType, `application/json`): - var out operations.PostSteeringAppsPrivateTagsGetpolicyinuseResponseBody + var out shared.PublishersBulkResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.Object = &out + res.PublishersBulkResponse = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse400 + var out shared.PublishersResponse400 if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.TagResponse400 = &out + res.PublishersResponse400 = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } @@ -3672,32 +369,19 @@ func (s *SDK) PostSteeringAppsPrivateTagsGetpolicyinuse(ctx context.Context, req return res, nil } -// PostSteeringGreTunnels - Create GRE tunnel -// API to create new GRE tunnel. You can pass json body with tunnel details. -func (s *SDK) PostSteeringGreTunnels(ctx context.Context, request shared.GreTunnelRequestPost) (*operations.PostSteeringGreTunnelsResponse, error) { +// GetInfrastructurePublishersAlertsconfiguration - Get list of publisher alerts +// Get list of publisher alerts +func (s *TerraformProviderNs) GetInfrastructurePublishersAlertsconfiguration(ctx context.Context) (*operations.GetInfrastructurePublishersAlertsconfigurationResponse, error) { baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/gre/tunnels" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) + url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publishers/alertsconfiguration" - req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - req.Header.Set("Content-Type", reqContentType) - client := s.sdkConfiguration.SecurityClient httpRes, err := client.Do(req) @@ -3712,99 +396,38 @@ func (s *SDK) PostSteeringGreTunnels(ctx context.Context, request shared.GreTunn if err != nil { return nil, fmt.Errorf("error reading response body: %w", err) } - httpRes.Request.Body = io.NopCloser(debugBody) httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) contentType := httpRes.Header.Get("Content-Type") - res := &operations.PostSteeringGreTunnelsResponse{ + res := &operations.GetInfrastructurePublishersAlertsconfigurationResponse{ StatusCode: httpRes.StatusCode, ContentType: contentType, RawResponse: httpRes, } switch { - case httpRes.StatusCode == 201: + case httpRes.StatusCode == 200: switch { case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse201 + var out shared.PublishersAlertGetResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.GreResponse201 = &out + res.PublishersAlertGetResponse = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 409: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse409 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse409 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse500 + var out shared.PublishersResponse400 if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.GreResponse500 = &out + res.PublishersResponse400 = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } @@ -3813,11 +436,11 @@ func (s *SDK) PostSteeringGreTunnels(ctx context.Context, request shared.GreTunn return res, nil } -// PostSteeringIpsecTunnels - Create IPSec tunnel -// API to create new IPSec tunnel. You can pass json body with tunnel details. -func (s *SDK) PostSteeringIpsecTunnels(ctx context.Context, request shared.IpsecTunnelRequestPost) (*operations.PostSteeringIpsecTunnelsResponse, error) { +// PutInfrastructurePublishersAlertsconfiguration - Configure publisher alerts +// Configure publisher alerts +func (s *TerraformProviderNs) PutInfrastructurePublishersAlertsconfiguration(ctx context.Context, request shared.PublishersAlertPutRequest) (*operations.PutInfrastructurePublishersAlertsconfigurationResponse, error) { baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/ipsec/tunnels" + url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publishers/alertsconfiguration" bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) if err != nil { @@ -3830,7 +453,7 @@ func (s *SDK) PostSteeringIpsecTunnels(ctx context.Context, request shared.Ipsec debugBody := bytes.NewBuffer([]byte{}) debugReader := io.TeeReader(bodyReader, debugBody) - req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) + req, err := http.NewRequestWithContext(ctx, "PUT", url, debugReader) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } @@ -3859,93 +482,33 @@ func (s *SDK) PostSteeringIpsecTunnels(ctx context.Context, request shared.Ipsec contentType := httpRes.Header.Get("Content-Type") - res := &operations.PostSteeringIpsecTunnelsResponse{ + res := &operations.PutInfrastructurePublishersAlertsconfigurationResponse{ StatusCode: httpRes.StatusCode, ContentType: contentType, RawResponse: httpRes, } switch { - case httpRes.StatusCode == 201: + case httpRes.StatusCode == 200: switch { case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse201 + var out shared.PublishersAlertGetResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.IpsecResponse201 = &out + res.PublishersAlertGetResponse = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 409: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse409 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse409 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse500 + var out shared.PublishersResponse400 if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.IpsecResponse500 = &out + res.PublishersResponse400 = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } @@ -3954,31 +517,22 @@ func (s *SDK) PostSteeringIpsecTunnels(ctx context.Context, request shared.Ipsec return res, nil } -// PutInfrastructurePublishersAlertsconfiguration - Configure publisher alerts -// Configure publisher alerts -func (s *SDK) PutInfrastructurePublishersAlertsconfiguration(ctx context.Context, request shared.PublishersAlertPutRequest) (*operations.PutInfrastructurePublishersAlertsconfigurationResponse, error) { +// GetPolicyNpaRules - Get list of npa policies +// Get list of npa policies +func (s *TerraformProviderNs) GetPolicyNpaRules(ctx context.Context, request operations.GetPolicyNpaRulesRequest) (*operations.GetPolicyNpaRulesResponse, error) { baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publishers/alertsconfiguration" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) + url := strings.TrimSuffix(baseURL, "/") + "/policy/npa/rules" - req, err := http.NewRequestWithContext(ctx, "PUT", url, debugReader) + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - req.Header.Set("Content-Type", reqContentType) + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } client := s.sdkConfiguration.SecurityClient @@ -3994,13 +548,12 @@ func (s *SDK) PutInfrastructurePublishersAlertsconfiguration(ctx context.Context if err != nil { return nil, fmt.Errorf("error reading response body: %w", err) } - httpRes.Request.Body = io.NopCloser(debugBody) httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) contentType := httpRes.Header.Get("Content-Type") - res := &operations.PutInfrastructurePublishersAlertsconfigurationResponse{ + res := &operations.GetPolicyNpaRulesResponse{ StatusCode: httpRes.StatusCode, ContentType: contentType, RawResponse: httpRes, @@ -4009,24 +562,24 @@ func (s *SDK) PutInfrastructurePublishersAlertsconfiguration(ctx context.Context case httpRes.StatusCode == 200: switch { case utils.MatchContentType(contentType, `application/json`): - var out shared.PublishersAlertGetResponse + var out shared.NpaPolicyListResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.PublishersAlertGetResponse = &out + res.NpaPolicyListResponse = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(contentType, `application/json`): - var out shared.PublishersResponse400 + var out shared.NpaPolicyResponse400 if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.PublishersResponse400 = &out + res.NpaPolicyResponse400 = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } @@ -4035,11 +588,11 @@ func (s *SDK) PutInfrastructurePublishersAlertsconfiguration(ctx context.Context return res, nil } -// PutInfrastructurePublishersBulk - Trigger bulk publisher update action -// Trigger bulk publisher update action -func (s *SDK) PutInfrastructurePublishersBulk(ctx context.Context, request shared.PublisherBulkRequest) (*operations.PutInfrastructurePublishersBulkResponse, error) { +// PostPolicyNpaRules - Create a npa policy +// Create a policy +func (s *TerraformProviderNs) PostPolicyNpaRules(ctx context.Context, request shared.NpaPolicyRequest) (*operations.PostPolicyNpaRulesResponse, error) { baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publishers/bulk" + url := strings.TrimSuffix(baseURL, "/") + "/policy/npa/rules" bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) if err != nil { @@ -4052,7 +605,7 @@ func (s *SDK) PutInfrastructurePublishersBulk(ctx context.Context, request share debugBody := bytes.NewBuffer([]byte{}) debugReader := io.TeeReader(bodyReader, debugBody) - req, err := http.NewRequestWithContext(ctx, "PUT", url, debugReader) + req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } @@ -4081,7 +634,7 @@ func (s *SDK) PutInfrastructurePublishersBulk(ctx context.Context, request share contentType := httpRes.Header.Get("Content-Type") - res := &operations.PutInfrastructurePublishersBulkResponse{ + res := &operations.PostPolicyNpaRulesResponse{ StatusCode: httpRes.StatusCode, ContentType: contentType, RawResponse: httpRes, @@ -4090,24 +643,24 @@ func (s *SDK) PutInfrastructurePublishersBulk(ctx context.Context, request share case httpRes.StatusCode == 200: switch { case utils.MatchContentType(contentType, `application/json`): - var out shared.PublishersBulkResponse + var out operations.PostPolicyNpaRulesResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.PublishersBulkResponse = &out + res.Object = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(contentType, `application/json`): - var out shared.PublishersResponse400 + var out shared.NpaPolicyResponse400 if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.PublishersResponse400 = &out + res.NpaPolicyResponse400 = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } @@ -4116,35 +669,22 @@ func (s *SDK) PutInfrastructurePublishersBulk(ctx context.Context, request share return res, nil } -// PutInfrastructurePublisherupgradeprofilesBulk - Update the profile of multiple publishers -func (s *SDK) PutInfrastructurePublisherupgradeprofilesBulk(ctx context.Context, request operations.PutInfrastructurePublisherupgradeprofilesBulkRequest) (*operations.PutInfrastructurePublisherupgradeprofilesBulkResponse, error) { +// DeletePolicyNpaRulesID - Delete a npa policy +// Delete a npa policy with rule id +func (s *TerraformProviderNs) DeletePolicyNpaRulesID(ctx context.Context, request operations.DeletePolicyNpaRulesIDRequest) (*operations.DeletePolicyNpaRulesIDResponse, error) { baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publisherupgradeprofiles/bulk" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PublisherUpgradeProfileBulkRequest", "json", `request:"mediaType=application/json"`) + url, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/rules/{id}", request, nil) if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") + return nil, fmt.Errorf("error generating URL: %w", err) } - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PUT", url, debugReader) + req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - req.Header.Set("Content-Type", reqContentType) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - client := s.sdkConfiguration.SecurityClient httpRes, err := client.Do(req) @@ -4159,13 +699,12 @@ func (s *SDK) PutInfrastructurePublisherupgradeprofilesBulk(ctx context.Context, if err != nil { return nil, fmt.Errorf("error reading response body: %w", err) } - httpRes.Request.Body = io.NopCloser(debugBody) httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) contentType := httpRes.Header.Get("Content-Type") - res := &operations.PutInfrastructurePublisherupgradeprofilesBulkResponse{ + res := &operations.DeletePolicyNpaRulesIDResponse{ StatusCode: httpRes.StatusCode, ContentType: contentType, RawResponse: httpRes, @@ -4174,24 +713,24 @@ func (s *SDK) PutInfrastructurePublisherupgradeprofilesBulk(ctx context.Context, case httpRes.StatusCode == 200: switch { case utils.MatchContentType(contentType, `application/json`): - var out shared.PublisherUpgradeProfileBulkResponse + var out operations.DeletePolicyNpaRulesIDResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.PublisherUpgradeProfileBulkResponse = &out + res.Object = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(contentType, `application/json`): - var out shared.FourHundred + var out shared.NpaPolicyResponse400 if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.FourHundred = &out + res.NpaPolicyResponse400 = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } @@ -4200,16 +739,16 @@ func (s *SDK) PutInfrastructurePublisherupgradeprofilesBulk(ctx context.Context, return res, nil } -// PutSteeringAppsPrivateTagsTagID - Update a private app tag based on tag id -// Update a private app tag based on tag id -func (s *SDK) PutSteeringAppsPrivateTagsTagID(ctx context.Context, request operations.PutSteeringAppsPrivateTagsTagIDRequest) (*operations.PutSteeringAppsPrivateTagsTagIDResponse, error) { +// PatchPolicyNpaRulesID - Patch a npa policy +// Patch a npa policy based on rule id +func (s *TerraformProviderNs) PatchPolicyNpaRulesID(ctx context.Context, request operations.PatchPolicyNpaRulesIDRequest) (*operations.PatchPolicyNpaRulesIDResponse, error) { baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/tags/{tag_id}", request, nil) + url, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/rules/{id}", request, nil) if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "TagRequest", "json", `request:"mediaType=application/json"`) + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "NpaPolicyRequest", "json", `request:"mediaType=application/json"`) if err != nil { return nil, fmt.Errorf("error serializing request body: %w", err) } @@ -4220,7 +759,7 @@ func (s *SDK) PutSteeringAppsPrivateTagsTagID(ctx context.Context, request opera debugBody := bytes.NewBuffer([]byte{}) debugReader := io.TeeReader(bodyReader, debugBody) - req, err := http.NewRequestWithContext(ctx, "PUT", url, debugReader) + req, err := http.NewRequestWithContext(ctx, "PATCH", url, debugReader) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } @@ -4229,6 +768,10 @@ func (s *SDK) PutSteeringAppsPrivateTagsTagID(ctx context.Context, request opera req.Header.Set("Content-Type", reqContentType) + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + client := s.sdkConfiguration.SecurityClient httpRes, err := client.Do(req) @@ -4249,7 +792,7 @@ func (s *SDK) PutSteeringAppsPrivateTagsTagID(ctx context.Context, request opera contentType := httpRes.Header.Get("Content-Type") - res := &operations.PutSteeringAppsPrivateTagsTagIDResponse{ + res := &operations.PatchPolicyNpaRulesIDResponse{ StatusCode: httpRes.StatusCode, ContentType: contentType, RawResponse: httpRes, @@ -4258,24 +801,24 @@ func (s *SDK) PutSteeringAppsPrivateTagsTagID(ctx context.Context, request opera case httpRes.StatusCode == 200: switch { case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse + var out operations.PatchPolicyNpaRulesIDResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.TagResponse = &out + res.Object = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse400 + var out shared.NpaPolicyResponse400 if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.TagResponse400 = &out + res.NpaPolicyResponse400 = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } @@ -4284,35 +827,22 @@ func (s *SDK) PutSteeringAppsPrivateTagsTagID(ctx context.Context, request opera return res, nil } -// PutSteeringAppsPrivatePrivateAppID - Update a private application -// Update a private application based on private app id -func (s *SDK) PutSteeringAppsPrivatePrivateAppID(ctx context.Context, request operations.PutSteeringAppsPrivatePrivateAppIDRequest) (*operations.PutSteeringAppsPrivatePrivateAppIDResponse, error) { +// GetPolicyNpaRulesID - Get a npa policy +// Get a npa policy based on policy rule id +func (s *TerraformProviderNs) GetPolicyNpaRulesID(ctx context.Context, request operations.GetPolicyNpaRulesIDRequest) (*operations.GetPolicyNpaRulesIDResponse, error) { baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/{private_app_id}", request, nil) + url, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/rules/{id}", request, nil) if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PrivateAppsPutRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PUT", url, debugReader) + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - req.Header.Set("Content-Type", reqContentType) - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { return nil, fmt.Errorf("error populating query params: %w", err) } @@ -4331,13 +861,12 @@ func (s *SDK) PutSteeringAppsPrivatePrivateAppID(ctx context.Context, request op if err != nil { return nil, fmt.Errorf("error reading response body: %w", err) } - httpRes.Request.Body = io.NopCloser(debugBody) httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) contentType := httpRes.Header.Get("Content-Type") - res := &operations.PutSteeringAppsPrivatePrivateAppIDResponse{ + res := &operations.GetPolicyNpaRulesIDResponse{ StatusCode: httpRes.StatusCode, ContentType: contentType, RawResponse: httpRes, @@ -4346,24 +875,24 @@ func (s *SDK) PutSteeringAppsPrivatePrivateAppID(ctx context.Context, request op case httpRes.StatusCode == 200: switch { case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse + var out operations.GetPolicyNpaRulesIDResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.PrivateAppsResponse = &out + res.Object = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse400 + var out shared.NpaPolicyResponse400 if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.PrivateAppsResponse400 = &out + res.NpaPolicyResponse400 = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/internal/validators/DateValidator.go b/internal/validators/DateValidator.go index fa62098..4bf0a09 100644 --- a/internal/validators/DateValidator.go +++ b/internal/validators/DateValidator.go @@ -6,7 +6,7 @@ import ( "context" "github.com/hashicorp/terraform-plugin-framework-validators/helpers/validatordiag" "github.com/hashicorp/terraform-plugin-framework/schema/validator" - "github.com/netskope/terraform-provider-ns/internal/sdk/pkg/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/types" ) var _ validator.String = DateValidator{} diff --git a/internal/validators/boolvalidators/not_null.go b/internal/validators/boolvalidators/not_null.go new file mode 100644 index 0000000..45e2e97 --- /dev/null +++ b/internal/validators/boolvalidators/not_null.go @@ -0,0 +1,49 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package boolvalidators + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-framework/schema/validator" +) + +var _ validator.Bool = BoolNotNullValidator{} + +// BoolNotNullValidator validates that an attribute is not null. Most +// attributes should set Required: true instead, however in certain scenarios, +// such as a computed nested attribute, all underlying attributes must also be +// computed for planning to not show unexpected differences. +type BoolNotNullValidator struct{} + +// Description describes the validation in plain text formatting. +func (v BoolNotNullValidator) Description(_ context.Context) string { + return "value must be configured" +} + +// MarkdownDescription describes the validation in Markdown formatting. +func (v BoolNotNullValidator) MarkdownDescription(ctx context.Context) string { + return v.Description(ctx) +} + +// Validate performs the validation. +func (v BoolNotNullValidator) ValidateBool(ctx context.Context, req validator.BoolRequest, resp *validator.BoolResponse) { + if !req.ConfigValue.IsNull() { + return + } + + resp.Diagnostics.AddAttributeError( + req.Path, + "Missing Attribute Value", + req.Path.String()+": "+v.Description(ctx), + ) +} + +// NotNull returns an validator which ensures that the attribute is +// configured. Most attributes should set Required: true instead, however in +// certain scenarios, such as a computed nested attribute, all underlying +// attributes must also be computed for planning to not show unexpected +// differences. +func NotNull() validator.Bool { + return BoolNotNullValidator{} +} diff --git a/internal/validators/float64validators/not_null.go b/internal/validators/float64validators/not_null.go new file mode 100644 index 0000000..75099c2 --- /dev/null +++ b/internal/validators/float64validators/not_null.go @@ -0,0 +1,49 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package float64validators + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-framework/schema/validator" +) + +var _ validator.Float64 = Float64NotNullValidator{} + +// Float64NotNullValidator validates that an attribute is not null. Most +// attributes should set Required: true instead, however in certain scenarios, +// such as a computed nested attribute, all underlying attributes must also be +// computed for planning to not show unexpected differences. +type Float64NotNullValidator struct{} + +// Description describes the validation in plain text formatting. +func (v Float64NotNullValidator) Description(_ context.Context) string { + return "value must be configured" +} + +// MarkdownDescription describes the validation in Markdown formatting. +func (v Float64NotNullValidator) MarkdownDescription(ctx context.Context) string { + return v.Description(ctx) +} + +// Validate performs the validation. +func (v Float64NotNullValidator) ValidateFloat64(ctx context.Context, req validator.Float64Request, resp *validator.Float64Response) { + if !req.ConfigValue.IsNull() { + return + } + + resp.Diagnostics.AddAttributeError( + req.Path, + "Missing Attribute Value", + req.Path.String()+": "+v.Description(ctx), + ) +} + +// NotNull returns an validator which ensures that the attribute is +// configured. Most attributes should set Required: true instead, however in +// certain scenarios, such as a computed nested attribute, all underlying +// attributes must also be computed for planning to not show unexpected +// differences. +func NotNull() validator.Float64 { + return Float64NotNullValidator{} +} diff --git a/internal/validators/int64validators/not_null.go b/internal/validators/int64validators/not_null.go new file mode 100644 index 0000000..32192d8 --- /dev/null +++ b/internal/validators/int64validators/not_null.go @@ -0,0 +1,49 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package int64validators + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-framework/schema/validator" +) + +var _ validator.Int64 = Int64NotNullValidator{} + +// Int64NotNullValidator validates that an attribute is not null. Most +// attributes should set Required: true instead, however in certain scenarios, +// such as a computed nested attribute, all underlying attributes must also be +// computed for planning to not show unexpected differences. +type Int64NotNullValidator struct{} + +// Description describes the validation in plain text formatting. +func (v Int64NotNullValidator) Description(_ context.Context) string { + return "value must be configured" +} + +// MarkdownDescription describes the validation in Markdown formatting. +func (v Int64NotNullValidator) MarkdownDescription(ctx context.Context) string { + return v.Description(ctx) +} + +// Validate performs the validation. +func (v Int64NotNullValidator) ValidateInt64(ctx context.Context, req validator.Int64Request, resp *validator.Int64Response) { + if !req.ConfigValue.IsNull() { + return + } + + resp.Diagnostics.AddAttributeError( + req.Path, + "Missing Attribute Value", + req.Path.String()+": "+v.Description(ctx), + ) +} + +// NotNull returns an validator which ensures that the attribute is +// configured. Most attributes should set Required: true instead, however in +// certain scenarios, such as a computed nested attribute, all underlying +// attributes must also be computed for planning to not show unexpected +// differences. +func NotNull() validator.Int64 { + return Int64NotNullValidator{} +} diff --git a/internal/validators/listvalidators/not_null.go b/internal/validators/listvalidators/not_null.go new file mode 100644 index 0000000..c7bfa6e --- /dev/null +++ b/internal/validators/listvalidators/not_null.go @@ -0,0 +1,49 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package listvalidators + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-framework/schema/validator" +) + +var _ validator.List = ListNotNullValidator{} + +// ListNotNullValidator validates that an attribute is not null. Most +// attributes should set Required: true instead, however in certain scenarios, +// such as a computed nested attribute, all underlying attributes must also be +// computed for planning to not show unexpected differences. +type ListNotNullValidator struct{} + +// Description describes the validation in plain text formatting. +func (v ListNotNullValidator) Description(_ context.Context) string { + return "value must be configured" +} + +// MarkdownDescription describes the validation in Markdown formatting. +func (v ListNotNullValidator) MarkdownDescription(ctx context.Context) string { + return v.Description(ctx) +} + +// Validate performs the validation. +func (v ListNotNullValidator) ValidateList(ctx context.Context, req validator.ListRequest, resp *validator.ListResponse) { + if !req.ConfigValue.IsNull() { + return + } + + resp.Diagnostics.AddAttributeError( + req.Path, + "Missing Attribute Value", + req.Path.String()+": "+v.Description(ctx), + ) +} + +// NotNull returns an validator which ensures that the attribute is +// configured. Most attributes should set Required: true instead, however in +// certain scenarios, such as a computed nested attribute, all underlying +// attributes must also be computed for planning to not show unexpected +// differences. +func NotNull() validator.List { + return ListNotNullValidator{} +} diff --git a/internal/validators/mapvalidators/not_null.go b/internal/validators/mapvalidators/not_null.go new file mode 100644 index 0000000..7d22172 --- /dev/null +++ b/internal/validators/mapvalidators/not_null.go @@ -0,0 +1,49 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package mapvalidators + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-framework/schema/validator" +) + +var _ validator.Map = MapNotNullValidator{} + +// MapNotNullValidator validates that an attribute is not null. Most +// attributes should set Required: true instead, however in certain scenarios, +// such as a computed nested attribute, all underlying attributes must also be +// computed for planning to not show unexpected differences. +type MapNotNullValidator struct{} + +// Description describes the validation in plain text formatting. +func (v MapNotNullValidator) Description(_ context.Context) string { + return "value must be configured" +} + +// MarkdownDescription describes the validation in Markdown formatting. +func (v MapNotNullValidator) MarkdownDescription(ctx context.Context) string { + return v.Description(ctx) +} + +// Validate performs the validation. +func (v MapNotNullValidator) ValidateMap(ctx context.Context, req validator.MapRequest, resp *validator.MapResponse) { + if !req.ConfigValue.IsNull() { + return + } + + resp.Diagnostics.AddAttributeError( + req.Path, + "Missing Attribute Value", + req.Path.String()+": "+v.Description(ctx), + ) +} + +// NotNull returns an validator which ensures that the attribute is +// configured. Most attributes should set Required: true instead, however in +// certain scenarios, such as a computed nested attribute, all underlying +// attributes must also be computed for planning to not show unexpected +// differences. +func NotNull() validator.Map { + return MapNotNullValidator{} +} diff --git a/internal/validators/numbervalidators/not_null.go b/internal/validators/numbervalidators/not_null.go new file mode 100644 index 0000000..b085170 --- /dev/null +++ b/internal/validators/numbervalidators/not_null.go @@ -0,0 +1,49 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package numbervalidators + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-framework/schema/validator" +) + +var _ validator.Number = NumberNotNullValidator{} + +// NumberNotNullValidator validates that an attribute is not null. Most +// attributes should set Required: true instead, however in certain scenarios, +// such as a computed nested attribute, all underlying attributes must also be +// computed for planning to not show unexpected differences. +type NumberNotNullValidator struct{} + +// Description describes the validation in plain text formatting. +func (v NumberNotNullValidator) Description(_ context.Context) string { + return "value must be configured" +} + +// MarkdownDescription describes the validation in Markdown formatting. +func (v NumberNotNullValidator) MarkdownDescription(ctx context.Context) string { + return v.Description(ctx) +} + +// Validate performs the validation. +func (v NumberNotNullValidator) ValidateNumber(ctx context.Context, req validator.NumberRequest, resp *validator.NumberResponse) { + if !req.ConfigValue.IsNull() { + return + } + + resp.Diagnostics.AddAttributeError( + req.Path, + "Missing Attribute Value", + req.Path.String()+": "+v.Description(ctx), + ) +} + +// NotNull returns an validator which ensures that the attribute is +// configured. Most attributes should set Required: true instead, however in +// certain scenarios, such as a computed nested attribute, all underlying +// attributes must also be computed for planning to not show unexpected +// differences. +func NotNull() validator.Number { + return NumberNotNullValidator{} +} diff --git a/internal/validators/objectvalidators/not_null.go b/internal/validators/objectvalidators/not_null.go new file mode 100644 index 0000000..c45ca8d --- /dev/null +++ b/internal/validators/objectvalidators/not_null.go @@ -0,0 +1,49 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package objectvalidators + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-framework/schema/validator" +) + +var _ validator.Object = ObjectNotNullValidator{} + +// ObjectNotNullValidator validates that an attribute is not null. Most +// attributes should set Required: true instead, however in certain scenarios, +// such as a computed nested attribute, all underlying attributes must also be +// computed for planning to not show unexpected differences. +type ObjectNotNullValidator struct{} + +// Description describes the validation in plain text formatting. +func (v ObjectNotNullValidator) Description(_ context.Context) string { + return "value must be configured" +} + +// MarkdownDescription describes the validation in Markdown formatting. +func (v ObjectNotNullValidator) MarkdownDescription(ctx context.Context) string { + return v.Description(ctx) +} + +// Validate performs the validation. +func (v ObjectNotNullValidator) ValidateObject(ctx context.Context, req validator.ObjectRequest, resp *validator.ObjectResponse) { + if !req.ConfigValue.IsNull() { + return + } + + resp.Diagnostics.AddAttributeError( + req.Path, + "Missing Attribute Value", + req.Path.String()+": "+v.Description(ctx), + ) +} + +// NotNull returns an validator which ensures that the attribute is +// configured. Most attributes should set Required: true instead, however in +// certain scenarios, such as a computed nested attribute, all underlying +// attributes must also be computed for planning to not show unexpected +// differences. +func NotNull() validator.Object { + return ObjectNotNullValidator{} +} diff --git a/internal/validators/setvalidators/not_null.go b/internal/validators/setvalidators/not_null.go new file mode 100644 index 0000000..23d6c16 --- /dev/null +++ b/internal/validators/setvalidators/not_null.go @@ -0,0 +1,49 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package setvalidators + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-framework/schema/validator" +) + +var _ validator.Set = SetNotNullValidator{} + +// SetNotNullValidator validates that an attribute is not null. Most +// attributes should set Required: true instead, however in certain scenarios, +// such as a computed nested attribute, all underlying attributes must also be +// computed for planning to not show unexpected differences. +type SetNotNullValidator struct{} + +// Description describes the validation in plain text formatting. +func (v SetNotNullValidator) Description(_ context.Context) string { + return "value must be configured" +} + +// MarkdownDescription describes the validation in Markdown formatting. +func (v SetNotNullValidator) MarkdownDescription(ctx context.Context) string { + return v.Description(ctx) +} + +// Validate performs the validation. +func (v SetNotNullValidator) ValidateSet(ctx context.Context, req validator.SetRequest, resp *validator.SetResponse) { + if !req.ConfigValue.IsNull() { + return + } + + resp.Diagnostics.AddAttributeError( + req.Path, + "Missing Attribute Value", + req.Path.String()+": "+v.Description(ctx), + ) +} + +// NotNull returns an validator which ensures that the attribute is +// configured. Most attributes should set Required: true instead, however in +// certain scenarios, such as a computed nested attribute, all underlying +// attributes must also be computed for planning to not show unexpected +// differences. +func NotNull() validator.Set { + return SetNotNullValidator{} +} diff --git a/internal/validators/stringvalidators/not_null.go b/internal/validators/stringvalidators/not_null.go new file mode 100644 index 0000000..f15f8ae --- /dev/null +++ b/internal/validators/stringvalidators/not_null.go @@ -0,0 +1,49 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package stringvalidators + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-framework/schema/validator" +) + +var _ validator.String = StringNotNullValidator{} + +// StringNotNullValidator validates that an attribute is not null. Most +// attributes should set Required: true instead, however in certain scenarios, +// such as a computed nested attribute, all underlying attributes must also be +// computed for planning to not show unexpected differences. +type StringNotNullValidator struct{} + +// Description describes the validation in plain text formatting. +func (v StringNotNullValidator) Description(_ context.Context) string { + return "value must be configured" +} + +// MarkdownDescription describes the validation in Markdown formatting. +func (v StringNotNullValidator) MarkdownDescription(ctx context.Context) string { + return v.Description(ctx) +} + +// Validate performs the validation. +func (v StringNotNullValidator) ValidateString(ctx context.Context, req validator.StringRequest, resp *validator.StringResponse) { + if !req.ConfigValue.IsNull() { + return + } + + resp.Diagnostics.AddAttributeError( + req.Path, + "Missing Attribute Value", + req.Path.String()+": "+v.Description(ctx), + ) +} + +// NotNull returns an validator which ensures that the attribute is +// configured. Most attributes should set Required: true instead, however in +// certain scenarios, such as a computed nested attribute, all underlying +// attributes must also be computed for planning to not show unexpected +// differences. +func NotNull() validator.String { + return StringNotNullValidator{} +} diff --git a/main.go b/main.go index 2618664..d6a1d3c 100644 --- a/main.go +++ b/main.go @@ -8,14 +8,14 @@ import ( "log" "github.com/hashicorp/terraform-plugin-framework/providerserver" - "github.com/netskope/terraform-provider-ns/internal/provider" + "github.com/speakeasy/terraform-provider-terraform/internal/provider" ) // Run "go generate" to generate the docs for the registry/website on each regeneration of the provider. // Run the docs generation tool, check its repository for more information on how it works and how docs // can be customized. -//go:generate go run github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs +//go:generate go run github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs generate --provider-name terraform-provider-terraform --rendered-provider-name terraform-provider-terraform var ( // these will be set by the goreleaser configuration @@ -30,7 +30,7 @@ func main() { flag.Parse() opts := providerserver.ServeOpts{ - Address: "registry.terraform.io/netskope/ns", + Address: "registry.terraform.io/speakeasy/terraform", Debug: debug, } diff --git a/netskope.yaml b/netskope.yaml deleted file mode 100644 index b9e7311..0000000 --- a/netskope.yaml +++ /dev/null @@ -1,4335 +0,0 @@ -openapi: 3.0.0 -info: - title: npa_private_app_tags - description: NPA Private app tag operations. - version: 1.0.0 -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - $ref: '#/components/schemas/npa_policygroup_response_item' - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: '#/components/schemas/protocol_item' - publishers: - type: array - items: - $ref: '#/components/schemas/publisher_item' - publisher_tags: - type: array - items: - $ref: '#/components/schemas/tag_item_no_id' - tags: - type: array - items: - $ref: '#/components/schemas/tag_item_no_id' - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: '#/components/schemas/Assessment' - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - anyOf: - - type: integer - - type: object - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: '#/components/schemas/UpgradeFailedReason' - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: '#/components/schemas/UpgradeStatus' - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - $ref: '#/components/schemas/ipsec_tunnel_pop_result_item' - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - reauth: - type: boolean - xff: - type: object - properties: - enabled: - type: boolean - iplist: - type: array - items: - type: string - example: string - example: string - version: - type: integer - example: 2 - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - $ref: '#/components/schemas/ipsec_tunnel_result_item' - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - reauth: - type: boolean - xff: - type: object - properties: - enable: - type: boolean - iplist: - type: array - items: - type: string - example: string - example: string - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: '#/components/schemas/tag_item' - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - reauth: - type: boolean - xff: - type: object - properties: - enable: - type: boolean - iplist: - type: array - items: - type: string - example: string - example: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - $ref: '#/components/schemas/tag_item' - publisher_tags: - type: array - items: - $ref: '#/components/schemas/tag_item' - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - "100" - - "201" - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - "1" - - "2" - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - $ref: '#/components/schemas/npa_policy_rule_dlp' - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - $ref: '#/components/schemas/ipsec_tunnel_result_item' - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: '#/components/schemas/Data' - status: - type: string - total: - type: integer - format: int32 - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: '#/components/schemas/publisher_bulk_item' - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - $ref: '#/components/schemas/gre_pop_result_item' - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - $ref: '#/components/schemas/npa_policy_rule_data' - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - iplist: - type: array - items: - type: string - example: string - example: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: '#/components/schemas/tag_item_no_id' - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: '#/components/schemas/tag_item' - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - iplist: - type: array - items: - type: string - example: string - example: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: '#/components/schemas/protocol_item' - publishers: - type: array - items: - $ref: '#/components/schemas/publisher_item' - publisher_tags: - type: array - items: - $ref: '#/components/schemas/tag_item_no_id' - tags: - type: array - items: - $ref: '#/components/schemas/tag_item_no_id' - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - tag_item_no_id: - type: object - properties: - tag_name: - type: string - default: tag_name - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: '#/components/schemas/tag_item' - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - $ref: '#/components/schemas/gre_tunnel_result_item' - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: '#/components/schemas/Publisher' - required: - - publishers - title: Data - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - $ref: '#/components/schemas/npa_policy_rule_data' - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: '#/components/schemas/upgrade_publisher_response' - total: - type: "integer" - format: "int32" - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/npa_policy_response_item' - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - $ref: '#/components/schemas/gre_tunnel_pop_result_item' - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - iplist: - type: array - items: - type: string - example: string - example: string - version: - type: integer - example: 2 - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - $ref: '#/components/schemas/protocol_response_item' - tags: - type: array - items: - $ref: '#/components/schemas/tag_item' - service_publisher_assignments: - type: array - items: - $ref: '#/components/schemas/service_publisher_assignment_item' - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: '#/components/schemas/protocol_response_item' - tags: - type: array - items: - $ref: '#/components/schemas/tag_item' - service_publisher_assignments: - type: array - items: - $ref: '#/components/schemas/service_publisher_assignment_item' - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: '#/components/schemas/release_item' - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - protocol_response_item: - type: object - properties: - id: - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - type: integer - format: int32 - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: '#/components/schemas/tag_item' - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - $ref: '#/components/schemas/ipsec_pop_result_item' - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - $ref: '#/components/schemas/ipsec_tunnel_result_item' - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - $ref: '#/components/schemas/gre_tunnel_result_item' - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - $ref: '#/components/schemas/gre_tunnel_result_item' -paths: - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/private_apps_get_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/private_apps_response_400' - post: - summary: Create a private application - description: Create a private application - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/private_apps_request' - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/private_apps_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/private_apps_response_400' - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/private_apps_response_400' - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/private_apps_put_request' - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/private_apps_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/private_apps_response_400' - patch: - summary: Patch a private application - description: Patch a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/private_apps_put_request' - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/private_apps_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/private_apps_response_400' - get: - summary: Get a private application - description: Get a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/private_apps_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/private_apps_response_400' - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/private_apps_response_400' - /steering/ipsec/tunnels: - x-netskope-params: - apiGroup: ipsec - serviceConfig: steering - version: 2 - customerFacing: true - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_tunnel_response_200' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_400' - "403": - description: Access forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_403' - "405": - description: Method not allowed - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_405' - "429": - description: Too many requests - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_429' - "500": - description: Internal server error - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_500' - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_tunnel_request_post' - responses: - "201": - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_201' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_400' - "403": - description: Access forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_403' - "405": - description: Method not allowed - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_405' - "409": - description: Already exists - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_409' - "429": - description: Too many requests - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_429' - "500": - description: Internal server error - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_500' - /policy/npa/rules: - x-netskope-params: - customerFacing: true - apiGroup: npa_policy - serviceConfig: provisioner-pycore-ws - version: 2 - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/npa_policy_list_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/npa_policy_response_400' - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/npa_policy_request' - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - $ref: '#/components/schemas/npa_policy_response_item' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/npa_policy_response_400' - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/npa_policygroup_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/npa_policygroup_response_400' - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/npa_policygroup_request' - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - $ref: '#/components/schemas/npa_policygroup_response_item' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/npa_policygroup_response_400' - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - $ref: '#/components/schemas/npa_policy_response_item' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/npa_policy_response_400' - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/npa_policy_request' - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - $ref: '#/components/schemas/npa_policy_response_item' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/npa_policy_response_400' - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - $ref: '#/components/schemas/npa_policy_response_item' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/npa_policy_response_400' - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/publishers_alert_get_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/publishers_response_400' - put: - summary: Configure publisher alerts - description: Configure publisher alerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/publishers_alert_put_request' - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/publishers_alert_get_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/publishers_response_400' - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - parameters: - - name: fields - in: query - description: Return values only from specified fields - schema: - type: string - x-speakeasy-group: NPAPublishersReleases - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/publishers_release_get_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/publishers_response_400' - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - x-speakeasy-group: NPAPublisherUpgradeProfiles - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: '#/components/schemas/400' - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - x-speakeasy-group: NPAPublisherUpgradeProfiles - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/publisher_upgrade_profile_put_request' - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: '#/components/schemas/publisher_upgrade_profile_response' - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: '#/components/schemas/400' - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: '#/components/schemas/publisher_upgrade_profile_response' - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: '#/components/schemas/400' - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_pop_response_200' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_400' - "403": - description: Access forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_403' - "404": - description: Not found - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_404' - "405": - description: Method not allowed - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_405' - "429": - description: Too many requests - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_429' - "500": - description: Internal server error - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_500' - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - version: 2 - customerFacing: true - apiGroup: npa_private_tag - serviceConfig: provisioner-pycore-ws - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/tag_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/tag_response_400' - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/tag_request' - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/tag_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/tag_response_400' - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/tag_request' - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/tag_response_400' - /infrastructure/publishers: - x-netskope-params: - version: 2 - customerFacing: true - apiGroup: npa_publishers - serviceConfig: provisioner-pycore-ws - get: - summary: Get list of publisher objects - description: Get list of publisher objects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - parameters: - - name: fields - in: query - description: Return values only from specified fields - schema: - type: string - x-speakeasy-group: NPAPublishers - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/publishers_get_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/publishers_response_400' - post: - summary: Create a publisher - description: Create a publisher - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/publisher_post_request' - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/publisher_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/publishers_response_400' - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/gre_tunnel_response_200' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_400' - "403": - description: Access forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_403' - "405": - description: Method not allowed - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_405' - "429": - description: Too many requests - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_429' - "500": - description: Internal server error - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_500' - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/gre_tunnel_request_post' - responses: - "201": - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_201' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_400' - "403": - description: Access forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_403' - "405": - description: Method not allowed - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_405' - "409": - description: Already exists - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_409' - "429": - description: Too many requests - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_429' - "500": - description: Internal server error - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_500' - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/gre_pop_response_200' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_400' - "403": - description: Access forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_403' - "404": - description: Not found - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_404' - "405": - description: Method not allowed - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_405' - "429": - description: Too many requests - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_429' - "500": - description: Internal server error - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_500' - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - x-speakeasy-group: NPAPublisherUpgradeProfiles - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: '#/components/schemas/publisher_upgrade_profile_get_response' - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: '#/components/schemas/400' - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-name-override: create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/publisher_upgrade_profile_post_request' - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: '#/components/schemas/publisher_upgrade_profile_response' - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: '#/components/schemas/400' - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - description: POP name - schema: - type: string - - name: region - in: query - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/gre_pop_response_200' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_400' - "403": - description: Access forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_403' - "405": - description: Method not allowed - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_405' - "429": - description: Too many requests - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_429' - "500": - description: Internal server error - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_500' - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - description: POP name - schema: - type: string - - name: region - in: query - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_pop_response_200' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_400' - "403": - description: Access forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_403' - "405": - description: Method not allowed - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_405' - "429": - description: Too many requests - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_429' - "500": - description: Internal server error - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_500' - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_tunnel_response_200' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_400' - "403": - description: Access forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_403' - "404": - description: Not found - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_404' - "405": - description: Method not allowed - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_405' - "429": - description: Too many requests - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_429' - "500": - description: Internal server error - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_500' - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_tunnel_request_patch' - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_patch_response_200' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_400' - "403": - description: Access forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_403' - "404": - description: Not found - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_404' - "405": - description: Method not allowed - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_405' - "429": - description: Too many requests - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_429' - "500": - description: Internal server error - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_500' - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_200' - "403": - description: Access forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_403' - "404": - description: Not found - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_404' - "405": - description: Method not allowed - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_405' - "429": - description: Too many requests - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_429' - "500": - description: Internal server error - content: - application/json: - schema: - $ref: '#/components/schemas/ipsec_response_500' - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/publisher_upgrade_profile_bulk_request' - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: '#/components/schemas/publisher_upgrade_profile_bulk_response' - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: '#/components/schemas/400' - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/publisher_bulk_request' - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/publishers_bulk_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/publishers_response_400' - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - version: 2 - customerFacing: true - apiGroup: npa_publishers - serviceConfig: provisioner-pycore-ws - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - x-speakeasy-group: NPAPublishersApps - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/publisher_apps_list_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/publishers_response_400' - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/npa_policygroup_response_400' - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/npa_policygroup_request' - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - $ref: '#/components/schemas/npa_policygroup_response_item' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/npa_policygroup_response_400' - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - $ref: '#/components/schemas/npa_policygroup_response_item' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/npa_policygroup_response_400' - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/gre_tunnel_response_200' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_400' - "403": - description: Access forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_403' - "404": - description: Not found - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_404' - "405": - description: Method not allowed - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_405' - "429": - description: Too many requests - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_429' - "500": - description: Internal server error - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_500' - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/gre_tunnel_request_patch' - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/gre_patch_response_200' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_400' - "403": - description: Access forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_403' - "404": - description: Not found - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_404' - "405": - description: Method not allowed - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_405' - "429": - description: Too many requests - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_429' - "500": - description: Internal server error - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_500' - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_200' - "403": - description: Access forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_403' - "404": - description: Not found - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_404' - "405": - description: Method not allowed - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_405' - "429": - description: Too many requests - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_429' - "500": - description: Internal server error - content: - application/json: - schema: - $ref: '#/components/schemas/gre_response_500' - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/tag_request' - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/tag_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/tag_response_400' - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/tag_request' - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/tag_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/tag_response_400' - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/tag_request' - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/tag_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/tag_response_400' - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/tag_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/tag_response_400' - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - apiGroup: npa_publishers - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - x-speakeasy-group: PublisherToken - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/publishers_response_400' - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - apiGroup: npa_publishers - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/publishers_response_400' - put: - summary: Update a publisher - description: update a publisher based on publisher id - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - x-speakeasy-group: NPAPublishers - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/publisher_put_request' - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/publisher_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/publishers_response_400' - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/publisher_put_request' - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/publisher_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/publishers_response_400' - get: - summary: Get a publisher - description: get a publisher based on publisher id - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - x-speakeasy-group: NPAPublishers - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/publisher_response' - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/publishers_response_400' - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - "400": - description: Invalid request - content: - application/json: - schema: - $ref: '#/components/schemas/tag_response_400' From 05eef055331d3cb5e6c91975a016be214ef07485 Mon Sep 17 00:00:00 2001 From: Justin Adrian Date: Tue, 19 Mar 2024 15:30:04 -0400 Subject: [PATCH 2/8] Speakeasy Automation --- .github/workflows/sdk_generation.yaml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/workflows/sdk_generation.yaml diff --git a/.github/workflows/sdk_generation.yaml b/.github/workflows/sdk_generation.yaml new file mode 100644 index 0000000..7525d1f --- /dev/null +++ b/.github/workflows/sdk_generation.yaml @@ -0,0 +1,25 @@ +name: Generate +permissions: + checks: write + contents: write + pull-requests: write + statuses: write +"on": + workflow_dispatch: + inputs: + force: + description: Force generation of SDKs + type: boolean + default: false + schedule: + - cron: 0 0 * * * +jobs: + generate: + uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15 + with: + force: ${{ github.event.inputs.force }} + mode: pr + speakeasy_version: latest + secrets: + github_access_token: ${{ secrets.GITHUB_TOKEN }} + speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }} From c99edceb86e03f578604c86f571dc3c6d323508b Mon Sep 17 00:00:00 2001 From: Justin Adrian Date: Wed, 20 Mar 2024 07:46:45 -0400 Subject: [PATCH 3/8] Updated Endpoints to include all POV Endpoints --- .speakeasy/gen.lock | 153 +- .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.yaml | 6 + README.md | 2 +- .../terraform_npa_policy_group/data-source.tf | 3 + .../terraform_npa_policy_list/data-source.tf | 4 +- .../data-source.tf | 3 + .../data-source.tf | 2 + .../terraform_npa_publishers/data-source.tf | 2 +- .../data-source.tf | 2 +- .../data-source.tf | 7 + .../terraform_private_app_list/data-source.tf | 3 + .../data-source.tf | 2 + .../data-source.tf | 5 + examples/provider/provider.tf | 2 +- .../terraform_npa_policy_group/resource.tf | 7 + .../resource.tf | 9 + .../terraform_npa_publishers/resource.tf | 4 +- .../terraform_private_app/resource.tf | 25 + .../terraform_private_app_tag/resource.tf | 18 + .../terraform_publisher_token/resource.tf | 2 +- .../provider/npapolicygroup_data_source.go | 147 + .../npapolicygroup_data_source_sdk.go | 21 + internal/provider/npapolicygroup_resource.go | 327 ++ .../provider/npapolicygroup_resource_sdk.go | 36 + internal/provider/npapublishers_resource.go | 6 +- .../provider/npapublishers_resource_sdk.go | 14 +- .../npapublishersappslist_data_source.go | 6 - .../npapublishersappslist_data_source_sdk.go | 12 - .../npapublisherupgradeprofile_data_source.go | 143 + ...publisherupgradeprofile_data_source_sdk.go | 24 + .../npapublisherupgradeprofile_resource.go | 362 ++ ...npapublisherupgradeprofile_resource_sdk.go | 133 + ...publisherupgradeprofilelist_data_source.go | 170 + ...isherupgradeprofilelist_data_source_sdk.go | 77 + .../provider/policygrouplist_data_source.go | 204 + .../policygrouplist_data_source_sdk.go | 39 + internal/provider/privateapp_resource.go | 367 ++ internal/provider/privateapp_resource_sdk.go | 328 ++ .../provider/privateapplist_data_source.go | 138 + .../privateapplist_data_source_sdk.go | 31 + internal/provider/privateapptag_resource.go | 259 ++ .../provider/privateapptag_resource_sdk.go | 75 + .../provider/privateapptaglist_data_source.go | 123 + .../privateapptaglist_data_source_sdk.go | 31 + .../privateapptagpolicyuselist_data_source.go | 126 + ...vateapptagpolicyuselist_data_source_sdk.go | 36 + internal/provider/provider.go | 11 + internal/provider/publishertoken_resource.go | 2 +- .../provider/publishertoken_resource_sdk.go | 2 +- internal/provider/type_group_order.go | 10 + .../type_npa_policygroup_response_item.go | 16 + ...g_apps_private_tags_getpolicyinuse_data.go | 9 + .../type_private_apps_get_response_data.go | 9 + internal/provider/type_protocol_item.go | 10 + .../provider/type_protocol_response_item.go | 2 - internal/provider/type_publisher_item.go | 10 + ...isher_upgrade_profile_get_response_data.go | 7 + internal/provider/type_tag_item_no_id.go | 9 + internal/provider/type_upgrade_profiles.go | 22 + internal/sdk/npapublisherupgradeprofiles.go | 406 ++ ...leteinfrastructurepublisherspublisherid.go | 18 +- ...ublisherupgradeprofilesupgradeprofileid.go | 109 + .../deletepolicynpapolicygroupsid.go | 109 + .../deletesteeringappsprivateprivateappid.go | 72 + .../deletesteeringappsprivatetags.go | 56 + .../deletesteeringappsprivatetagstagid.go | 80 + .../operations/deletesteeringgretunnelsid.go | 104 + .../deletesteeringipsectunnelsid.go | 104 + ...tinfrastructurepublisherupgradeprofiles.go | 68 + ...ublisherupgradeprofilesupgradeprofileid.go | 68 + .../operations/getpolicynpapolicygroups.go | 113 + .../operations/getpolicynpapolicygroupsid.go | 80 + .../operations/getsteeringappsprivate.go | 68 + .../getsteeringappsprivateprivateappid.go | 68 + .../operations/getsteeringappsprivatetags.go | 56 + .../getsteeringappsprivatetagstagid.go | 68 + .../models/operations/getsteeringgrepops.go | 188 + .../models/operations/getsteeringgrepopsid.go | 122 + .../operations/getsteeringgretunnels.go | 197 + .../operations/getsteeringgretunnelsid.go | 122 + .../models/operations/getsteeringipsecpops.go | 197 + .../operations/getsteeringipsecpopsid.go | 122 + .../operations/getsteeringipsectunnels.go | 206 + .../operations/getsteeringipsectunnelsid.go | 122 + .../patchpolicynpapolicygroupsid.go | 127 + .../patchsteeringappsprivateprivateappid.go | 115 + .../patchsteeringappsprivatetags.go | 56 + .../operations/patchsteeringgretunnelsid.go | 122 + .../operations/patchsteeringipsectunnelsid.go | 122 + ...epublisherspublisheridregistrationtoken.go | 10 +- ...tinfrastructurepublisherupgradeprofiles.go | 106 + .../operations/postpolicynpapolicygroups.go | 118 + .../operations/poststeeringappsprivate.go | 106 + .../poststeeringappsprivategetpolicyinuse.go | 90 + .../operations/poststeeringappsprivatetags.go | 56 + ...ststeeringappsprivatetagsgetpolicyinuse.go | 90 + .../operations/poststeeringgretunnels.go | 101 + .../operations/poststeeringipsectunnels.go | 101 + ...rastructurepublisherupgradeprofilesbulk.go | 110 + ...ublisherupgradeprofilesupgradeprofileid.go | 115 + .../putsteeringappsprivateprivateappid.go | 115 + .../putsteeringappsprivatetagstagid.go | 76 + internal/sdk/pkg/models/shared/fourhundred.go | 22 + .../pkg/models/shared/grepatchresponse200.go | 30 + .../pkg/models/shared/grepopresponse200.go | 30 + .../sdk/pkg/models/shared/grepopresultitem.go | 70 + .../sdk/pkg/models/shared/greresponse200.go | 22 + .../sdk/pkg/models/shared/greresponse201.go | 30 + .../sdk/pkg/models/shared/greresponse400.go | 22 + .../sdk/pkg/models/shared/greresponse403.go | 22 + .../sdk/pkg/models/shared/greresponse404.go | 22 + .../sdk/pkg/models/shared/greresponse405.go | 22 + .../sdk/pkg/models/shared/greresponse409.go | 22 + .../sdk/pkg/models/shared/greresponse429.go | 22 + .../sdk/pkg/models/shared/greresponse500.go | 22 + .../models/shared/gretunnelpopresultitem.go | 78 + .../models/shared/gretunnelrequestpatch.go | 108 + .../pkg/models/shared/gretunnelrequestpost.go | 108 + .../pkg/models/shared/gretunnelresponse200.go | 30 + .../pkg/models/shared/gretunnelresultitem.go | 124 + .../models/shared/ipsecpatchresponse200.go | 30 + .../pkg/models/shared/ipsecpopresponse200.go | 30 + .../pkg/models/shared/ipsecpopresultitem.go | 199 + .../sdk/pkg/models/shared/ipsecresponse200.go | 22 + .../sdk/pkg/models/shared/ipsecresponse201.go | 30 + .../sdk/pkg/models/shared/ipsecresponse400.go | 22 + .../sdk/pkg/models/shared/ipsecresponse403.go | 22 + .../sdk/pkg/models/shared/ipsecresponse404.go | 22 + .../sdk/pkg/models/shared/ipsecresponse405.go | 22 + .../sdk/pkg/models/shared/ipsecresponse409.go | 22 + .../sdk/pkg/models/shared/ipsecresponse429.go | 22 + .../sdk/pkg/models/shared/ipsecresponse500.go | 22 + .../models/shared/ipsectunnelpopresultitem.go | 62 + .../models/shared/ipsectunnelrequestpatch.go | 156 + .../models/shared/ipsectunnelrequestpost.go | 156 + .../models/shared/ipsectunnelresponse200.go | 30 + .../models/shared/ipsectunnelresultitem.go | 164 + .../models/shared/npapolicygrouprequest.go | 73 + .../models/shared/npapolicygroupresponse.go | 14 + .../shared/npapolicygroupresponse400.go | 22 + .../shared/npapolicygroupresponseitem.go | 70 + .../models/shared/privateappsgetresponse.go | 73 + .../models/shared/privateappsputrequest.go | 94 + .../pkg/models/shared/privateappsrequest.go | 86 + .../pkg/models/shared/privateappsresponse.go | 97 + .../models/shared/privateappsresponse400.go | 22 + .../sdk/pkg/models/shared/protocolitem.go | 22 + .../pkg/models/shared/protocolresponseitem.go | 16 - .../sdk/pkg/models/shared/publisheritem.go | 22 + .../publisherupgradeprofilebulkrequest.go | 44 + .../publisherupgradeprofilebulkresponse.go | 62 + .../publisherupgradeprofilegetresponse.go | 188 + .../publisherupgradeprofilepostrequest.go | 62 + .../publisherupgradeprofileputrequest.go | 62 + .../shared/publisherupgradeprofileresponse.go | 73 + internal/sdk/pkg/models/shared/tagitem.go | 10 +- internal/sdk/pkg/models/shared/tagitemnoid.go | 17 +- internal/sdk/pkg/models/shared/tagrequest.go | 38 + internal/sdk/pkg/models/shared/tagresponse.go | 33 + .../sdk/pkg/models/shared/tagresponse400.go | 22 + .../models/shared/upgradepublisherresponse.go | 121 + internal/sdk/sdk.go | 3483 ++++++++++++++++- 163 files changed, 14834 insertions(+), 107 deletions(-) create mode 100644 examples/data-sources/terraform_npa_policy_group/data-source.tf create mode 100644 examples/data-sources/terraform_npa_publisher_upgrade_profile/data-source.tf create mode 100644 examples/data-sources/terraform_npa_publisher_upgrade_profile_list/data-source.tf create mode 100644 examples/data-sources/terraform_policy_group_list/data-source.tf create mode 100644 examples/data-sources/terraform_private_app_list/data-source.tf create mode 100644 examples/data-sources/terraform_private_app_tag_list/data-source.tf create mode 100644 examples/data-sources/terraform_private_app_tag_policy_use_list/data-source.tf create mode 100644 examples/resources/terraform_npa_policy_group/resource.tf create mode 100644 examples/resources/terraform_npa_publisher_upgrade_profile/resource.tf create mode 100644 examples/resources/terraform_private_app/resource.tf create mode 100644 examples/resources/terraform_private_app_tag/resource.tf create mode 100644 internal/provider/npapolicygroup_data_source.go create mode 100644 internal/provider/npapolicygroup_data_source_sdk.go create mode 100644 internal/provider/npapolicygroup_resource.go create mode 100644 internal/provider/npapolicygroup_resource_sdk.go create mode 100644 internal/provider/npapublisherupgradeprofile_data_source.go create mode 100644 internal/provider/npapublisherupgradeprofile_data_source_sdk.go create mode 100644 internal/provider/npapublisherupgradeprofile_resource.go create mode 100644 internal/provider/npapublisherupgradeprofile_resource_sdk.go create mode 100644 internal/provider/npapublisherupgradeprofilelist_data_source.go create mode 100644 internal/provider/npapublisherupgradeprofilelist_data_source_sdk.go create mode 100644 internal/provider/policygrouplist_data_source.go create mode 100644 internal/provider/policygrouplist_data_source_sdk.go create mode 100644 internal/provider/privateapp_resource.go create mode 100644 internal/provider/privateapp_resource_sdk.go create mode 100644 internal/provider/privateapplist_data_source.go create mode 100644 internal/provider/privateapplist_data_source_sdk.go create mode 100644 internal/provider/privateapptag_resource.go create mode 100644 internal/provider/privateapptag_resource_sdk.go create mode 100644 internal/provider/privateapptaglist_data_source.go create mode 100644 internal/provider/privateapptaglist_data_source_sdk.go create mode 100644 internal/provider/privateapptagpolicyuselist_data_source.go create mode 100644 internal/provider/privateapptagpolicyuselist_data_source_sdk.go create mode 100644 internal/provider/type_group_order.go create mode 100644 internal/provider/type_npa_policygroup_response_item.go create mode 100644 internal/provider/type_post_steering_apps_private_tags_getpolicyinuse_data.go create mode 100644 internal/provider/type_private_apps_get_response_data.go create mode 100644 internal/provider/type_protocol_item.go create mode 100644 internal/provider/type_publisher_item.go create mode 100644 internal/provider/type_publisher_upgrade_profile_get_response_data.go create mode 100644 internal/provider/type_tag_item_no_id.go create mode 100644 internal/provider/type_upgrade_profiles.go create mode 100644 internal/sdk/npapublisherupgradeprofiles.go create mode 100644 internal/sdk/pkg/models/operations/deleteinfrastructurepublisherupgradeprofilesupgradeprofileid.go create mode 100644 internal/sdk/pkg/models/operations/deletepolicynpapolicygroupsid.go create mode 100644 internal/sdk/pkg/models/operations/deletesteeringappsprivateprivateappid.go create mode 100644 internal/sdk/pkg/models/operations/deletesteeringappsprivatetags.go create mode 100644 internal/sdk/pkg/models/operations/deletesteeringappsprivatetagstagid.go create mode 100644 internal/sdk/pkg/models/operations/deletesteeringgretunnelsid.go create mode 100644 internal/sdk/pkg/models/operations/deletesteeringipsectunnelsid.go create mode 100644 internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofiles.go create mode 100644 internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofilesupgradeprofileid.go create mode 100644 internal/sdk/pkg/models/operations/getpolicynpapolicygroups.go create mode 100644 internal/sdk/pkg/models/operations/getpolicynpapolicygroupsid.go create mode 100644 internal/sdk/pkg/models/operations/getsteeringappsprivate.go create mode 100644 internal/sdk/pkg/models/operations/getsteeringappsprivateprivateappid.go create mode 100644 internal/sdk/pkg/models/operations/getsteeringappsprivatetags.go create mode 100644 internal/sdk/pkg/models/operations/getsteeringappsprivatetagstagid.go create mode 100644 internal/sdk/pkg/models/operations/getsteeringgrepops.go create mode 100644 internal/sdk/pkg/models/operations/getsteeringgrepopsid.go create mode 100644 internal/sdk/pkg/models/operations/getsteeringgretunnels.go create mode 100644 internal/sdk/pkg/models/operations/getsteeringgretunnelsid.go create mode 100644 internal/sdk/pkg/models/operations/getsteeringipsecpops.go create mode 100644 internal/sdk/pkg/models/operations/getsteeringipsecpopsid.go create mode 100644 internal/sdk/pkg/models/operations/getsteeringipsectunnels.go create mode 100644 internal/sdk/pkg/models/operations/getsteeringipsectunnelsid.go create mode 100644 internal/sdk/pkg/models/operations/patchpolicynpapolicygroupsid.go create mode 100644 internal/sdk/pkg/models/operations/patchsteeringappsprivateprivateappid.go create mode 100644 internal/sdk/pkg/models/operations/patchsteeringappsprivatetags.go create mode 100644 internal/sdk/pkg/models/operations/patchsteeringgretunnelsid.go create mode 100644 internal/sdk/pkg/models/operations/patchsteeringipsectunnelsid.go create mode 100644 internal/sdk/pkg/models/operations/postinfrastructurepublisherupgradeprofiles.go create mode 100644 internal/sdk/pkg/models/operations/postpolicynpapolicygroups.go create mode 100644 internal/sdk/pkg/models/operations/poststeeringappsprivate.go create mode 100644 internal/sdk/pkg/models/operations/poststeeringappsprivategetpolicyinuse.go create mode 100644 internal/sdk/pkg/models/operations/poststeeringappsprivatetags.go create mode 100644 internal/sdk/pkg/models/operations/poststeeringappsprivatetagsgetpolicyinuse.go create mode 100644 internal/sdk/pkg/models/operations/poststeeringgretunnels.go create mode 100644 internal/sdk/pkg/models/operations/poststeeringipsectunnels.go create mode 100644 internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesbulk.go create mode 100644 internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesupgradeprofileid.go create mode 100644 internal/sdk/pkg/models/operations/putsteeringappsprivateprivateappid.go create mode 100644 internal/sdk/pkg/models/operations/putsteeringappsprivatetagstagid.go create mode 100644 internal/sdk/pkg/models/shared/fourhundred.go create mode 100644 internal/sdk/pkg/models/shared/grepatchresponse200.go create mode 100644 internal/sdk/pkg/models/shared/grepopresponse200.go create mode 100644 internal/sdk/pkg/models/shared/grepopresultitem.go create mode 100644 internal/sdk/pkg/models/shared/greresponse200.go create mode 100644 internal/sdk/pkg/models/shared/greresponse201.go create mode 100644 internal/sdk/pkg/models/shared/greresponse400.go create mode 100644 internal/sdk/pkg/models/shared/greresponse403.go create mode 100644 internal/sdk/pkg/models/shared/greresponse404.go create mode 100644 internal/sdk/pkg/models/shared/greresponse405.go create mode 100644 internal/sdk/pkg/models/shared/greresponse409.go create mode 100644 internal/sdk/pkg/models/shared/greresponse429.go create mode 100644 internal/sdk/pkg/models/shared/greresponse500.go create mode 100644 internal/sdk/pkg/models/shared/gretunnelpopresultitem.go create mode 100644 internal/sdk/pkg/models/shared/gretunnelrequestpatch.go create mode 100644 internal/sdk/pkg/models/shared/gretunnelrequestpost.go create mode 100644 internal/sdk/pkg/models/shared/gretunnelresponse200.go create mode 100644 internal/sdk/pkg/models/shared/gretunnelresultitem.go create mode 100644 internal/sdk/pkg/models/shared/ipsecpatchresponse200.go create mode 100644 internal/sdk/pkg/models/shared/ipsecpopresponse200.go create mode 100644 internal/sdk/pkg/models/shared/ipsecpopresultitem.go create mode 100644 internal/sdk/pkg/models/shared/ipsecresponse200.go create mode 100644 internal/sdk/pkg/models/shared/ipsecresponse201.go create mode 100644 internal/sdk/pkg/models/shared/ipsecresponse400.go create mode 100644 internal/sdk/pkg/models/shared/ipsecresponse403.go create mode 100644 internal/sdk/pkg/models/shared/ipsecresponse404.go create mode 100644 internal/sdk/pkg/models/shared/ipsecresponse405.go create mode 100644 internal/sdk/pkg/models/shared/ipsecresponse409.go create mode 100644 internal/sdk/pkg/models/shared/ipsecresponse429.go create mode 100644 internal/sdk/pkg/models/shared/ipsecresponse500.go create mode 100644 internal/sdk/pkg/models/shared/ipsectunnelpopresultitem.go create mode 100644 internal/sdk/pkg/models/shared/ipsectunnelrequestpatch.go create mode 100644 internal/sdk/pkg/models/shared/ipsectunnelrequestpost.go create mode 100644 internal/sdk/pkg/models/shared/ipsectunnelresponse200.go create mode 100644 internal/sdk/pkg/models/shared/ipsectunnelresultitem.go create mode 100644 internal/sdk/pkg/models/shared/npapolicygrouprequest.go create mode 100644 internal/sdk/pkg/models/shared/npapolicygroupresponse.go create mode 100644 internal/sdk/pkg/models/shared/npapolicygroupresponse400.go create mode 100644 internal/sdk/pkg/models/shared/npapolicygroupresponseitem.go create mode 100644 internal/sdk/pkg/models/shared/privateappsgetresponse.go create mode 100644 internal/sdk/pkg/models/shared/privateappsputrequest.go create mode 100644 internal/sdk/pkg/models/shared/privateappsrequest.go create mode 100644 internal/sdk/pkg/models/shared/privateappsresponse.go create mode 100644 internal/sdk/pkg/models/shared/privateappsresponse400.go create mode 100644 internal/sdk/pkg/models/shared/protocolitem.go create mode 100644 internal/sdk/pkg/models/shared/publisheritem.go create mode 100644 internal/sdk/pkg/models/shared/publisherupgradeprofilebulkrequest.go create mode 100644 internal/sdk/pkg/models/shared/publisherupgradeprofilebulkresponse.go create mode 100644 internal/sdk/pkg/models/shared/publisherupgradeprofilegetresponse.go create mode 100644 internal/sdk/pkg/models/shared/publisherupgradeprofilepostrequest.go create mode 100644 internal/sdk/pkg/models/shared/publisherupgradeprofileputrequest.go create mode 100644 internal/sdk/pkg/models/shared/publisherupgradeprofileresponse.go create mode 100644 internal/sdk/pkg/models/shared/tagrequest.go create mode 100644 internal/sdk/pkg/models/shared/tagresponse.go create mode 100644 internal/sdk/pkg/models/shared/tagresponse400.go create mode 100644 internal/sdk/pkg/models/shared/upgradepublisherresponse.go diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 4c9175a..b054f96 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: a76d3a50-7d28-47aa-96a0-41eb7882b85b management: - docChecksum: b3cc26c2dcd11d688f57f5aa75ff28e4 + docChecksum: de10d9c6e96799844dacae380ef9ac16 docVersion: 1.0.0 speakeasyVersion: 1.210.0 generationVersion: 2.281.2 - releaseVersion: 0.0.2 - configChecksum: 35c04194cc994986d4408bf17c163a04 + releaseVersion: 0.0.3 + configChecksum: 74d90dfb6f4d10b3cff53e6bee44d6ec features: terraform: constsAndDefaults: 0.1.4 @@ -23,6 +23,7 @@ generatedFiles: - internal/sdk/publishertoken.go - internal/sdk/npapublishersapps.go - internal/sdk/npapublishersreleases.go + - internal/sdk/npapublisherupgradeprofiles.go - internal/sdk/sdk.go - examples/README.md - go.mod @@ -88,11 +89,46 @@ generatedFiles: - internal/sdk/pkg/models/operations/putinfrastructurepublishersbulk.go - internal/sdk/pkg/models/operations/getinfrastructurepublishersalertsconfiguration.go - internal/sdk/pkg/models/operations/putinfrastructurepublishersalertsconfiguration.go + - internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesbulk.go - internal/sdk/pkg/models/operations/getpolicynparules.go - internal/sdk/pkg/models/operations/postpolicynparules.go - internal/sdk/pkg/models/operations/deletepolicynparulesid.go - internal/sdk/pkg/models/operations/patchpolicynparulesid.go - internal/sdk/pkg/models/operations/getpolicynparulesid.go + - internal/sdk/pkg/models/operations/getpolicynpapolicygroups.go + - internal/sdk/pkg/models/operations/postpolicynpapolicygroups.go + - internal/sdk/pkg/models/operations/deletepolicynpapolicygroupsid.go + - internal/sdk/pkg/models/operations/patchpolicynpapolicygroupsid.go + - internal/sdk/pkg/models/operations/getpolicynpapolicygroupsid.go + - internal/sdk/pkg/models/operations/getsteeringappsprivate.go + - internal/sdk/pkg/models/operations/poststeeringappsprivate.go + - internal/sdk/pkg/models/operations/deletesteeringappsprivateprivateappid.go + - internal/sdk/pkg/models/operations/putsteeringappsprivateprivateappid.go + - internal/sdk/pkg/models/operations/patchsteeringappsprivateprivateappid.go + - internal/sdk/pkg/models/operations/getsteeringappsprivateprivateappid.go + - internal/sdk/pkg/models/operations/poststeeringappsprivategetpolicyinuse.go + - internal/sdk/pkg/models/operations/poststeeringappsprivatetags.go + - internal/sdk/pkg/models/operations/patchsteeringappsprivatetags.go + - internal/sdk/pkg/models/operations/deletesteeringappsprivatetags.go + - internal/sdk/pkg/models/operations/getsteeringappsprivatetags.go + - internal/sdk/pkg/models/operations/getsteeringappsprivatetagstagid.go + - internal/sdk/pkg/models/operations/putsteeringappsprivatetagstagid.go + - internal/sdk/pkg/models/operations/deletesteeringappsprivatetagstagid.go + - internal/sdk/pkg/models/operations/poststeeringappsprivatetagsgetpolicyinuse.go + - internal/sdk/pkg/models/operations/getsteeringgrepops.go + - internal/sdk/pkg/models/operations/getsteeringgrepopsid.go + - internal/sdk/pkg/models/operations/getsteeringgretunnels.go + - internal/sdk/pkg/models/operations/poststeeringgretunnels.go + - internal/sdk/pkg/models/operations/getsteeringgretunnelsid.go + - internal/sdk/pkg/models/operations/patchsteeringgretunnelsid.go + - internal/sdk/pkg/models/operations/deletesteeringgretunnelsid.go + - internal/sdk/pkg/models/operations/getsteeringipsecpops.go + - internal/sdk/pkg/models/operations/getsteeringipsecpopsid.go + - internal/sdk/pkg/models/operations/getsteeringipsectunnels.go + - internal/sdk/pkg/models/operations/poststeeringipsectunnels.go + - internal/sdk/pkg/models/operations/getsteeringipsectunnelsid.go + - internal/sdk/pkg/models/operations/patchsteeringipsectunnelsid.go + - internal/sdk/pkg/models/operations/deletesteeringipsectunnelsid.go - internal/sdk/pkg/models/operations/getinfrastructurepublishers.go - internal/sdk/pkg/models/operations/postinfrastructurepublishers.go - internal/sdk/pkg/models/operations/deleteinfrastructurepublisherspublisherid.go @@ -101,6 +137,12 @@ generatedFiles: - internal/sdk/pkg/models/operations/postinfrastructurepublisherspublisheridregistrationtoken.go - internal/sdk/pkg/models/operations/getinfrastructurepublisherspublisheridapps.go - internal/sdk/pkg/models/operations/getinfrastructurepublishersreleases.go + - internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofiles.go + - internal/sdk/pkg/models/operations/postinfrastructurepublisherupgradeprofiles.go + - internal/sdk/pkg/models/operations/deleteinfrastructurepublisherupgradeprofilesupgradeprofileid.go + - internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesupgradeprofileid.go + - internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofilesupgradeprofileid.go + - internal/sdk/pkg/models/shared/fourhundred.go - internal/sdk/pkg/models/shared/publishersresponse400.go - internal/sdk/pkg/models/shared/publisherresponse.go - internal/sdk/pkg/models/shared/tagitem.go @@ -110,12 +152,66 @@ generatedFiles: - internal/sdk/pkg/models/shared/publisherbulkrequest.go - internal/sdk/pkg/models/shared/publishersalertgetresponse.go - internal/sdk/pkg/models/shared/publishersalertputrequest.go + - internal/sdk/pkg/models/shared/publisherupgradeprofilebulkresponse.go + - internal/sdk/pkg/models/shared/upgradepublisherresponse.go + - internal/sdk/pkg/models/shared/publisherupgradeprofilebulkrequest.go - internal/sdk/pkg/models/shared/npapolicyresponse400.go - internal/sdk/pkg/models/shared/npapolicylistresponse.go - internal/sdk/pkg/models/shared/npapolicyresponseitem.go - internal/sdk/pkg/models/shared/npapolicyruledata.go - internal/sdk/pkg/models/shared/npapolicyruledlp.go - internal/sdk/pkg/models/shared/npapolicyrequest.go + - internal/sdk/pkg/models/shared/npapolicygroupresponse400.go + - internal/sdk/pkg/models/shared/npapolicygroupresponse.go + - internal/sdk/pkg/models/shared/npapolicygroupresponseitem.go + - internal/sdk/pkg/models/shared/npapolicygrouprequest.go + - internal/sdk/pkg/models/shared/privateappsresponse400.go + - internal/sdk/pkg/models/shared/privateappsgetresponse.go + - internal/sdk/pkg/models/shared/privateappsresponse.go + - internal/sdk/pkg/models/shared/servicepublisherassignmentitem.go + - internal/sdk/pkg/models/shared/protocolresponseitem.go + - internal/sdk/pkg/models/shared/privateappsrequest.go + - internal/sdk/pkg/models/shared/tagitemnoid.go + - internal/sdk/pkg/models/shared/publisheritem.go + - internal/sdk/pkg/models/shared/protocolitem.go + - internal/sdk/pkg/models/shared/privateappsputrequest.go + - internal/sdk/pkg/models/shared/tagresponse400.go + - internal/sdk/pkg/models/shared/tagresponse.go + - internal/sdk/pkg/models/shared/tagrequest.go + - internal/sdk/pkg/models/shared/greresponse500.go + - internal/sdk/pkg/models/shared/greresponse429.go + - internal/sdk/pkg/models/shared/greresponse405.go + - internal/sdk/pkg/models/shared/greresponse403.go + - internal/sdk/pkg/models/shared/greresponse400.go + - internal/sdk/pkg/models/shared/grepopresponse200.go + - internal/sdk/pkg/models/shared/grepopresultitem.go + - internal/sdk/pkg/models/shared/greresponse404.go + - internal/sdk/pkg/models/shared/gretunnelresponse200.go + - internal/sdk/pkg/models/shared/gretunnelresultitem.go + - internal/sdk/pkg/models/shared/gretunnelpopresultitem.go + - internal/sdk/pkg/models/shared/greresponse409.go + - internal/sdk/pkg/models/shared/greresponse201.go + - internal/sdk/pkg/models/shared/gretunnelrequestpost.go + - internal/sdk/pkg/models/shared/grepatchresponse200.go + - internal/sdk/pkg/models/shared/gretunnelrequestpatch.go + - internal/sdk/pkg/models/shared/greresponse200.go + - internal/sdk/pkg/models/shared/ipsecresponse500.go + - internal/sdk/pkg/models/shared/ipsecresponse429.go + - internal/sdk/pkg/models/shared/ipsecresponse405.go + - internal/sdk/pkg/models/shared/ipsecresponse403.go + - internal/sdk/pkg/models/shared/ipsecresponse400.go + - internal/sdk/pkg/models/shared/ipsecpopresponse200.go + - internal/sdk/pkg/models/shared/ipsecpopresultitem.go + - internal/sdk/pkg/models/shared/ipsecresponse404.go + - internal/sdk/pkg/models/shared/ipsectunnelresponse200.go + - internal/sdk/pkg/models/shared/ipsectunnelresultitem.go + - internal/sdk/pkg/models/shared/ipsectunnelpopresultitem.go + - internal/sdk/pkg/models/shared/ipsecresponse409.go + - internal/sdk/pkg/models/shared/ipsecresponse201.go + - internal/sdk/pkg/models/shared/ipsectunnelrequestpost.go + - internal/sdk/pkg/models/shared/ipsecpatchresponse200.go + - internal/sdk/pkg/models/shared/ipsectunnelrequestpatch.go + - internal/sdk/pkg/models/shared/ipsecresponse200.go - internal/sdk/pkg/models/shared/publishersgetresponse.go - internal/sdk/pkg/models/shared/data.go - internal/sdk/pkg/models/shared/publisher.go @@ -123,12 +219,13 @@ generatedFiles: - internal/sdk/pkg/models/shared/upgradefailedreason.go - internal/sdk/pkg/models/shared/assessment.go - internal/sdk/pkg/models/shared/publisherpostrequest.go - - internal/sdk/pkg/models/shared/tagitemnoid.go - internal/sdk/pkg/models/shared/publisherappslistresponse.go - - internal/sdk/pkg/models/shared/servicepublisherassignmentitem.go - - internal/sdk/pkg/models/shared/protocolresponseitem.go - internal/sdk/pkg/models/shared/publishersreleasegetresponse.go - internal/sdk/pkg/models/shared/releaseitem.go + - internal/sdk/pkg/models/shared/publisherupgradeprofilegetresponse.go + - internal/sdk/pkg/models/shared/publisherupgradeprofileresponse.go + - internal/sdk/pkg/models/shared/publisherupgradeprofilepostrequest.go + - internal/sdk/pkg/models/shared/publisherupgradeprofileputrequest.go - internal/sdk/pkg/models/shared/security.go - internal/provider/type_npa_policy_rule_dlp.go - internal/provider/type_match_criteria_action.go @@ -136,15 +233,19 @@ generatedFiles: - internal/provider/type_private_apps_with_activities.go - internal/provider/type_npa_policy_rule_data.go - internal/provider/type_rule_order.go + - internal/provider/type_group_order.go - internal/provider/type_tag_item.go - internal/provider/type_publisher_bulk_item_assessment.go - internal/provider/type_publisher_bulk_item.go - internal/provider/type_apply.go - internal/provider/type_publishers.go - - internal/provider/type_npa_policy_response_item.go + - internal/provider/type_protocol_item.go + - internal/provider/type_publisher_item.go + - internal/provider/type_tag_item_no_id.go - internal/provider/type_protocol_response_item.go - internal/provider/type_reachability.go - internal/provider/type_service_publisher_assignment_item.go + - internal/provider/type_npa_policy_response_item.go - internal/provider/type_publisher_apps_list_response_data.go - internal/provider/type_assessment.go - internal/provider/type_publisher_assessment.go @@ -155,12 +256,20 @@ generatedFiles: - internal/provider/type_publisher.go - internal/provider/type_data.go - internal/provider/type_release_item.go + - internal/provider/type_upgrade_profiles.go + - internal/provider/type_publisher_upgrade_profile_get_response_data.go + - internal/provider/type_npa_policygroup_response_item.go + - internal/provider/type_private_apps_get_response_data.go + - internal/provider/type_post_steering_apps_private_tags_getpolicyinuse_data.go - USAGE.md - internal/provider/provider.go - examples/provider/provider.tf - internal/provider/npapolicy_resource.go - internal/provider/npapolicy_resource_sdk.go - examples/resources/terraform_npa_policy/resource.tf + - internal/provider/npapolicygroup_resource.go + - internal/provider/npapolicygroup_resource_sdk.go + - examples/resources/terraform_npa_policy_group/resource.tf - internal/provider/npapublishers_resource.go - internal/provider/npapublishers_resource_sdk.go - examples/resources/terraform_npa_publishers/resource.tf @@ -170,12 +279,24 @@ generatedFiles: - internal/provider/npapublishersbulkupgrade_resource.go - internal/provider/npapublishersbulkupgrade_resource_sdk.go - examples/resources/terraform_npa_publishers_bulk_upgrade/resource.tf + - internal/provider/npapublisherupgradeprofile_resource.go + - internal/provider/npapublisherupgradeprofile_resource_sdk.go + - examples/resources/terraform_npa_publisher_upgrade_profile/resource.tf + - internal/provider/privateapp_resource.go + - internal/provider/privateapp_resource_sdk.go + - examples/resources/terraform_private_app/resource.tf + - internal/provider/privateapptag_resource.go + - internal/provider/privateapptag_resource_sdk.go + - examples/resources/terraform_private_app_tag/resource.tf - internal/provider/publishertoken_resource.go - internal/provider/publishertoken_resource_sdk.go - examples/resources/terraform_publisher_token/resource.tf - internal/provider/npapolicy_data_source.go - internal/provider/npapolicy_data_source_sdk.go - examples/data-sources/terraform_npa_policy/data-source.tf + - internal/provider/npapolicygroup_data_source.go + - internal/provider/npapolicygroup_data_source_sdk.go + - examples/data-sources/terraform_npa_policy_group/data-source.tf - internal/provider/npapolicylist_data_source.go - internal/provider/npapolicylist_data_source_sdk.go - examples/data-sources/terraform_npa_policy_list/data-source.tf @@ -194,4 +315,22 @@ generatedFiles: - internal/provider/npapublishersreleaseslist_data_source.go - internal/provider/npapublishersreleaseslist_data_source_sdk.go - examples/data-sources/terraform_npa_publishers_releases_list/data-source.tf + - internal/provider/npapublisherupgradeprofile_data_source.go + - internal/provider/npapublisherupgradeprofile_data_source_sdk.go + - examples/data-sources/terraform_npa_publisher_upgrade_profile/data-source.tf + - internal/provider/npapublisherupgradeprofilelist_data_source.go + - internal/provider/npapublisherupgradeprofilelist_data_source_sdk.go + - examples/data-sources/terraform_npa_publisher_upgrade_profile_list/data-source.tf + - internal/provider/policygrouplist_data_source.go + - internal/provider/policygrouplist_data_source_sdk.go + - examples/data-sources/terraform_policy_group_list/data-source.tf + - internal/provider/privateapplist_data_source.go + - internal/provider/privateapplist_data_source_sdk.go + - examples/data-sources/terraform_private_app_list/data-source.tf + - internal/provider/privateapptaglist_data_source.go + - internal/provider/privateapptaglist_data_source_sdk.go + - examples/data-sources/terraform_private_app_tag_list/data-source.tf + - internal/provider/privateapptagpolicyuselist_data_source.go + - internal/provider/privateapptagpolicyuselist_data_source_sdk.go + - examples/data-sources/terraform_private_app_tag_policy_use_list/data-source.tf - .gitattributes diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 1835492..5fbeaf1 100755 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -12,7 +12,7 @@ generation: auth: oAuth2ClientCredentialsEnabled: true terraform: - version: 0.0.2 + version: 0.0.3 author: speakeasy imports: option: openapi diff --git a/.speakeasy/workflow.yaml b/.speakeasy/workflow.yaml index c2551c2..d2c4824 100644 --- a/.speakeasy/workflow.yaml +++ b/.speakeasy/workflow.yaml @@ -4,7 +4,13 @@ sources: inputs: - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/base_oas.yaml - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/infrastructure/npa_publisher.yaml + - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/infrastructure/npa_upgrade_profiles.yaml - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/policy/npa_policy.yaml + - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/policy/npa_policygroup.yaml + - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/steering/npa_apps_private.yaml + - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/steering/npa_private_tag.yaml + - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/steering/gre.yaml + - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/steering/ipsec.yaml overlays: - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/terraform_overlay.yaml targets: diff --git a/README.md b/README.md index 3cb7814..a15e79b 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ terraform { required_providers { terraform = { source = "speakeasy/terraform" - version = "0.0.2" + version = "0.0.3" } } } diff --git a/examples/data-sources/terraform_npa_policy_group/data-source.tf b/examples/data-sources/terraform_npa_policy_group/data-source.tf new file mode 100644 index 0000000..46d4583 --- /dev/null +++ b/examples/data-sources/terraform_npa_policy_group/data-source.tf @@ -0,0 +1,3 @@ +data "terraform_npa_policy_group" "my_npapolicygroup" { + group_id = "...my_group_id..." +} \ No newline at end of file diff --git a/examples/data-sources/terraform_npa_policy_list/data-source.tf b/examples/data-sources/terraform_npa_policy_list/data-source.tf index d23afbf..1da4f65 100644 --- a/examples/data-sources/terraform_npa_policy_list/data-source.tf +++ b/examples/data-sources/terraform_npa_policy_list/data-source.tf @@ -1,7 +1,7 @@ data "terraform_npa_policy_list" "my_npapolicylist" { filter = "...my_filter..." - limit = 8 - offset = 5 + limit = 7 + offset = 10 sortby = "...my_sortby..." sortorder = "...my_sortorder..." } \ No newline at end of file diff --git a/examples/data-sources/terraform_npa_publisher_upgrade_profile/data-source.tf b/examples/data-sources/terraform_npa_publisher_upgrade_profile/data-source.tf new file mode 100644 index 0000000..313a495 --- /dev/null +++ b/examples/data-sources/terraform_npa_publisher_upgrade_profile/data-source.tf @@ -0,0 +1,3 @@ +data "terraform_npa_publisher_upgrade_profile" "my_npapublisherupgradeprofile" { + id = 9 +} \ No newline at end of file diff --git a/examples/data-sources/terraform_npa_publisher_upgrade_profile_list/data-source.tf b/examples/data-sources/terraform_npa_publisher_upgrade_profile_list/data-source.tf new file mode 100644 index 0000000..d23a2fb --- /dev/null +++ b/examples/data-sources/terraform_npa_publisher_upgrade_profile_list/data-source.tf @@ -0,0 +1,2 @@ +data "terraform_npa_publisher_upgrade_profile_list" "my_npapublisherupgradeprofilelist" { +} \ No newline at end of file diff --git a/examples/data-sources/terraform_npa_publishers/data-source.tf b/examples/data-sources/terraform_npa_publishers/data-source.tf index 043f5ae..04cc9da 100644 --- a/examples/data-sources/terraform_npa_publishers/data-source.tf +++ b/examples/data-sources/terraform_npa_publishers/data-source.tf @@ -1,3 +1,3 @@ data "terraform_npa_publishers" "my_npapublishers" { - id = 2 + id = 5 } \ No newline at end of file diff --git a/examples/data-sources/terraform_npa_publishers_apps_list/data-source.tf b/examples/data-sources/terraform_npa_publishers_apps_list/data-source.tf index 747408c..e0cf746 100644 --- a/examples/data-sources/terraform_npa_publishers_apps_list/data-source.tf +++ b/examples/data-sources/terraform_npa_publishers_apps_list/data-source.tf @@ -1,3 +1,3 @@ data "terraform_npa_publishers_apps_list" "my_npapublishersappslist" { - publisher_id = 4 + publisher_id = 6 } \ No newline at end of file diff --git a/examples/data-sources/terraform_policy_group_list/data-source.tf b/examples/data-sources/terraform_policy_group_list/data-source.tf new file mode 100644 index 0000000..7b909c0 --- /dev/null +++ b/examples/data-sources/terraform_policy_group_list/data-source.tf @@ -0,0 +1,7 @@ +data "terraform_policy_group_list" "my_policygrouplist" { + filter = "...my_filter..." + limit = 7 + offset = 2 + sortby = "...my_sortby..." + sortorder = "...my_sortorder..." +} \ No newline at end of file diff --git a/examples/data-sources/terraform_private_app_list/data-source.tf b/examples/data-sources/terraform_private_app_list/data-source.tf new file mode 100644 index 0000000..d7565bf --- /dev/null +++ b/examples/data-sources/terraform_private_app_list/data-source.tf @@ -0,0 +1,3 @@ +data "terraform_private_app_list" "my_privateapplist" { + fields = "...my_fields..." +} \ No newline at end of file diff --git a/examples/data-sources/terraform_private_app_tag_list/data-source.tf b/examples/data-sources/terraform_private_app_tag_list/data-source.tf new file mode 100644 index 0000000..e9afe3f --- /dev/null +++ b/examples/data-sources/terraform_private_app_tag_list/data-source.tf @@ -0,0 +1,2 @@ +data "terraform_private_app_tag_list" "my_privateapptaglist" { +} \ No newline at end of file diff --git a/examples/data-sources/terraform_private_app_tag_policy_use_list/data-source.tf b/examples/data-sources/terraform_private_app_tag_policy_use_list/data-source.tf new file mode 100644 index 0000000..0c8001b --- /dev/null +++ b/examples/data-sources/terraform_private_app_tag_policy_use_list/data-source.tf @@ -0,0 +1,5 @@ +data "terraform_private_app_tag_policy_use_list" "my_privateapptagpolicyuselist" { + ids = [ + "...", + ] +} \ No newline at end of file diff --git a/examples/provider/provider.tf b/examples/provider/provider.tf index ddcb0e5..c455856 100644 --- a/examples/provider/provider.tf +++ b/examples/provider/provider.tf @@ -2,7 +2,7 @@ terraform { required_providers { terraform = { source = "speakeasy/terraform" - version = "0.0.2" + version = "0.0.3" } } } diff --git a/examples/resources/terraform_npa_policy_group/resource.tf b/examples/resources/terraform_npa_policy_group/resource.tf new file mode 100644 index 0000000..c6218d5 --- /dev/null +++ b/examples/resources/terraform_npa_policy_group/resource.tf @@ -0,0 +1,7 @@ +resource "terraform_npa_policy_group" "my_npapolicygroup" { + group_name = "...my_group_name..." + group_order = { + group_id = "1" + order = "after" + } +} \ No newline at end of file diff --git a/examples/resources/terraform_npa_publisher_upgrade_profile/resource.tf b/examples/resources/terraform_npa_publisher_upgrade_profile/resource.tf new file mode 100644 index 0000000..739c6d5 --- /dev/null +++ b/examples/resources/terraform_npa_publisher_upgrade_profile/resource.tf @@ -0,0 +1,9 @@ +resource "terraform_npa_publisher_upgrade_profile" "my_npapublisherupgradeprofile" { + docker_tag = "...my_docker_tag..." + enabled = true + frequency = "...my_frequency..." + name = "Nelson Gleichner" + release_type = "...my_release_type..." + required = "{ \"see\": \"documentation\" }" + timezone = "...my_timezone..." +} \ No newline at end of file diff --git a/examples/resources/terraform_npa_publishers/resource.tf b/examples/resources/terraform_npa_publishers/resource.tf index 16b4173..28da47f 100644 --- a/examples/resources/terraform_npa_publishers/resource.tf +++ b/examples/resources/terraform_npa_publishers/resource.tf @@ -1,5 +1,5 @@ resource "terraform_npa_publishers" "my_npapublishers" { - lbrokerconnect = false - name = "Miss Paula Bergnaum" + lbrokerconnect = true + name = "Anna Ankunding" publisher_upgrade_profiles_id = 5 } \ No newline at end of file diff --git a/examples/resources/terraform_private_app/resource.tf b/examples/resources/terraform_private_app/resource.tf new file mode 100644 index 0000000..a2e0f39 --- /dev/null +++ b/examples/resources/terraform_private_app/resource.tf @@ -0,0 +1,25 @@ +resource "terraform_private_app" "my_privateapp" { + app_name = "...my_app_name..." + clientless_access = true + host = "...my_host..." + protocols = [ + { + port = "...my_port..." + type = "...my_type..." + }, + ] + publishers = [ + { + publisher_id = "...my_publisher_id..." + publisher_name = "...my_publisher_name..." + }, + ] + publisher_tags = [ + { + tag_name = "...my_tag_name..." + }, + ] + real_host = "...my_real_host..." + trust_self_signed_certs = true + use_publisher_dns = true +} \ No newline at end of file diff --git a/examples/resources/terraform_private_app_tag/resource.tf b/examples/resources/terraform_private_app_tag/resource.tf new file mode 100644 index 0000000..db12d3d --- /dev/null +++ b/examples/resources/terraform_private_app_tag/resource.tf @@ -0,0 +1,18 @@ +resource "terraform_private_app_tag" "my_privateapptag" { + id = "1ba65a2c-5874-40b5-86d4-8f6603f14abb" + ids = [ + "...", + ] + publisher_tags = [ + { + tag_id = 8 + tag_name = "...my_tag_name..." + }, + ] + tags = [ + { + tag_id = 8 + tag_name = "...my_tag_name..." + }, + ] +} \ No newline at end of file diff --git a/examples/resources/terraform_publisher_token/resource.tf b/examples/resources/terraform_publisher_token/resource.tf index e0b46ed..89d32ba 100644 --- a/examples/resources/terraform_publisher_token/resource.tf +++ b/examples/resources/terraform_publisher_token/resource.tf @@ -1,3 +1,3 @@ resource "terraform_publisher_token" "my_publishertoken" { - publisher_id = 6 + publisher_id = 8 } \ No newline at end of file diff --git a/internal/provider/npapolicygroup_data_source.go b/internal/provider/npapolicygroup_data_source.go new file mode 100644 index 0000000..6dcd21d --- /dev/null +++ b/internal/provider/npapolicygroup_data_source.go @@ -0,0 +1,147 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "context" + "fmt" + "github.com/hashicorp/terraform-plugin-framework/datasource" + "github.com/hashicorp/terraform-plugin-framework/datasource/schema" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" +) + +// Ensure provider defined types fully satisfy framework interfaces. +var _ datasource.DataSource = &NPAPolicyGroupDataSource{} +var _ datasource.DataSourceWithConfigure = &NPAPolicyGroupDataSource{} + +func NewNPAPolicyGroupDataSource() datasource.DataSource { + return &NPAPolicyGroupDataSource{} +} + +// NPAPolicyGroupDataSource is the data source implementation. +type NPAPolicyGroupDataSource struct { + client *sdk.TerraformProviderNs +} + +// NPAPolicyGroupDataSourceModel describes the data model. +type NPAPolicyGroupDataSourceModel struct { + CanBeEditedDeleted types.String `tfsdk:"can_be_edited_deleted"` + GroupID types.String `tfsdk:"group_id"` + GroupName types.String `tfsdk:"group_name"` + GroupPinnedID types.Int64 `tfsdk:"group_pinned_id"` + GroupProdID types.Int64 `tfsdk:"group_prod_id"` + GroupType types.String `tfsdk:"group_type"` + ModifyTime types.String `tfsdk:"modify_time"` + ModifyType types.String `tfsdk:"modify_type"` +} + +// Metadata returns the data source type name. +func (r *NPAPolicyGroupDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) { + resp.TypeName = req.ProviderTypeName + "_npa_policy_group" +} + +// Schema defines the schema for the data source. +func (r *NPAPolicyGroupDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) { + resp.Schema = schema.Schema{ + MarkdownDescription: "NPAPolicyGroup DataSource", + + Attributes: map[string]schema.Attribute{ + "can_be_edited_deleted": schema.StringAttribute{ + Computed: true, + }, + "group_id": schema.StringAttribute{ + Required: true, + Description: `npa policy group id`, + }, + "group_name": schema.StringAttribute{ + Computed: true, + }, + "group_pinned_id": schema.Int64Attribute{ + Computed: true, + }, + "group_prod_id": schema.Int64Attribute{ + Computed: true, + }, + "group_type": schema.StringAttribute{ + Computed: true, + }, + "modify_time": schema.StringAttribute{ + Computed: true, + }, + "modify_type": schema.StringAttribute{ + Computed: true, + }, + }, + } +} + +func (r *NPAPolicyGroupDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) { + // Prevent panic if the provider has not been configured. + if req.ProviderData == nil { + return + } + + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) + + if !ok { + resp.Diagnostics.AddError( + "Unexpected DataSource Configure Type", + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), + ) + + return + } + + r.client = client +} + +func (r *NPAPolicyGroupDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) { + var data *NPAPolicyGroupDataSourceModel + var item types.Object + + resp.Diagnostics.Append(req.Config.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + id := data.GroupID.ValueString() + request := operations.GetPolicyNpaPolicygroupsIDRequest{ + ID: id, + } + res, err := r.client.GetPolicyNpaPolicygroupsID(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.Object == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromSharedNpaPolicygroupResponseItem(res.Object.Data) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} diff --git a/internal/provider/npapolicygroup_data_source_sdk.go b/internal/provider/npapolicygroup_data_source_sdk.go new file mode 100644 index 0000000..1ebf68d --- /dev/null +++ b/internal/provider/npapolicygroup_data_source_sdk.go @@ -0,0 +1,21 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" +) + +func (r *NPAPolicyGroupDataSourceModel) RefreshFromSharedNpaPolicygroupResponseItem(resp *shared.NpaPolicygroupResponseItem) { + if resp != nil { + r.CanBeEditedDeleted = types.StringPointerValue(resp.CanBeEditedDeleted) + r.GroupID = types.StringPointerValue(resp.GroupID) + r.GroupName = types.StringPointerValue(resp.GroupName) + r.GroupPinnedID = types.Int64PointerValue(resp.GroupPinnedID) + r.GroupProdID = types.Int64PointerValue(resp.GroupProdID) + r.GroupType = types.StringPointerValue(resp.GroupType) + r.ModifyTime = types.StringPointerValue(resp.ModifyTime) + r.ModifyType = types.StringPointerValue(resp.ModifyType) + } +} diff --git a/internal/provider/npapolicygroup_resource.go b/internal/provider/npapolicygroup_resource.go new file mode 100644 index 0000000..0c9789a --- /dev/null +++ b/internal/provider/npapolicygroup_resource.go @@ -0,0 +1,327 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "context" + "fmt" + "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" + "github.com/hashicorp/terraform-plugin-framework/path" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/objectplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/schema/validator" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + speakeasy_stringplanmodifier "github.com/speakeasy/terraform-provider-terraform/internal/planmodifiers/stringplanmodifier" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" +) + +// Ensure provider defined types fully satisfy framework interfaces. +var _ resource.Resource = &NPAPolicyGroupResource{} +var _ resource.ResourceWithImportState = &NPAPolicyGroupResource{} + +func NewNPAPolicyGroupResource() resource.Resource { + return &NPAPolicyGroupResource{} +} + +// NPAPolicyGroupResource defines the resource implementation. +type NPAPolicyGroupResource struct { + client *sdk.TerraformProviderNs +} + +// NPAPolicyGroupResourceModel describes the resource data model. +type NPAPolicyGroupResourceModel struct { + CanBeEditedDeleted types.String `tfsdk:"can_be_edited_deleted"` + GroupID types.String `tfsdk:"group_id"` + GroupName types.String `tfsdk:"group_name"` + GroupOrder GroupOrder `tfsdk:"group_order"` + GroupPinnedID types.Int64 `tfsdk:"group_pinned_id"` + GroupProdID types.Int64 `tfsdk:"group_prod_id"` + GroupType types.String `tfsdk:"group_type"` + ModifyTime types.String `tfsdk:"modify_time"` + ModifyType types.String `tfsdk:"modify_type"` +} + +func (r *NPAPolicyGroupResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) { + resp.TypeName = req.ProviderTypeName + "_npa_policy_group" +} + +func (r *NPAPolicyGroupResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { + resp.Schema = schema.Schema{ + MarkdownDescription: "NPAPolicyGroup Resource", + + Attributes: map[string]schema.Attribute{ + "can_be_edited_deleted": schema.StringAttribute{ + Computed: true, + }, + "group_id": schema.StringAttribute{ + Computed: true, + Description: `npa policy group id`, + }, + "group_name": schema.StringAttribute{ + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplaceIfConfigured(), + speakeasy_stringplanmodifier.SuppressDiff(speakeasy_stringplanmodifier.ExplicitSuppress), + }, + Required: true, + Description: `Requires replacement if changed. `, + }, + "group_order": schema.SingleNestedAttribute{ + PlanModifiers: []planmodifier.Object{ + objectplanmodifier.RequiresReplaceIfConfigured(), + }, + Required: true, + Attributes: map[string]schema.Attribute{ + "group_id": schema.StringAttribute{ + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplaceIfConfigured(), + }, + Required: true, + Description: `Requires replacement if changed. `, + }, + "order": schema.StringAttribute{ + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplaceIfConfigured(), + }, + Required: true, + Description: `Requires replacement if changed. ; must be one of ["before", "after"]`, + Validators: []validator.String{ + stringvalidator.OneOf( + "before", + "after", + ), + }, + }, + }, + Description: `Requires replacement if changed. `, + }, + "group_pinned_id": schema.Int64Attribute{ + Computed: true, + }, + "group_prod_id": schema.Int64Attribute{ + Computed: true, + }, + "group_type": schema.StringAttribute{ + Computed: true, + }, + "modify_time": schema.StringAttribute{ + Computed: true, + }, + "modify_type": schema.StringAttribute{ + Computed: true, + }, + }, + } +} + +func (r *NPAPolicyGroupResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) { + // Prevent panic if the provider has not been configured. + if req.ProviderData == nil { + return + } + + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) + + if !ok { + resp.Diagnostics.AddError( + "Unexpected Resource Configure Type", + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), + ) + + return + } + + r.client = client +} + +func (r *NPAPolicyGroupResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { + var data *NPAPolicyGroupResourceModel + var plan types.Object + + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(plan.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + npaPolicygroupRequest := *data.ToSharedNpaPolicygroupRequest() + request := operations.PostPolicyNpaPolicygroupsRequest{ + NpaPolicygroupRequest: npaPolicygroupRequest, + } + res, err := r.client.PostPolicyNpaPolicygroups(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.Object == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromSharedNpaPolicygroupResponseItem(res.Object.Data) + refreshPlan(ctx, plan, &data, resp.Diagnostics) + id := data.GroupID.ValueString() + request1 := operations.GetPolicyNpaPolicygroupsIDRequest{ + ID: id, + } + res1, err := r.client.GetPolicyNpaPolicygroupsID(ctx, request1) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res1 != nil && res1.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res1.RawResponse)) + } + return + } + if res1 == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res1)) + return + } + if res1.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res1.StatusCode), debugResponse(res1.RawResponse)) + return + } + if res1.Object == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res1.RawResponse)) + return + } + data.RefreshFromSharedNpaPolicygroupResponseItem(res1.Object.Data) + refreshPlan(ctx, plan, &data, resp.Diagnostics) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} + +func (r *NPAPolicyGroupResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { + var data *NPAPolicyGroupResourceModel + var item types.Object + + resp.Diagnostics.Append(req.State.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + id := data.GroupID.ValueString() + request := operations.GetPolicyNpaPolicygroupsIDRequest{ + ID: id, + } + res, err := r.client.GetPolicyNpaPolicygroupsID(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.Object == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromSharedNpaPolicygroupResponseItem(res.Object.Data) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} + +func (r *NPAPolicyGroupResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { + var data *NPAPolicyGroupResourceModel + var plan types.Object + + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + + merge(ctx, req, resp, &data) + if resp.Diagnostics.HasError() { + return + } + + // Not Implemented; all attributes marked as RequiresReplace + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} + +func (r *NPAPolicyGroupResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { + var data *NPAPolicyGroupResourceModel + var item types.Object + + resp.Diagnostics.Append(req.State.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + id := data.GroupID.ValueString() + request := operations.DeletePolicyNpaPolicygroupsIDRequest{ + ID: id, + } + res, err := r.client.DeletePolicyNpaPolicygroupsID(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + +} + +func (r *NPAPolicyGroupResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { + resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("group_id"), req.ID)...) +} diff --git a/internal/provider/npapolicygroup_resource_sdk.go b/internal/provider/npapolicygroup_resource_sdk.go new file mode 100644 index 0000000..0739125 --- /dev/null +++ b/internal/provider/npapolicygroup_resource_sdk.go @@ -0,0 +1,36 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" +) + +func (r *NPAPolicyGroupResourceModel) ToSharedNpaPolicygroupRequest() *shared.NpaPolicygroupRequest { + groupName := r.GroupName.ValueString() + order := shared.NpaPolicygroupRequestOrder(r.GroupOrder.Order.ValueString()) + groupID := r.GroupOrder.GroupID.ValueString() + groupOrder := shared.GroupOrder{ + Order: order, + GroupID: groupID, + } + out := shared.NpaPolicygroupRequest{ + GroupName: groupName, + GroupOrder: groupOrder, + } + return &out +} + +func (r *NPAPolicyGroupResourceModel) RefreshFromSharedNpaPolicygroupResponseItem(resp *shared.NpaPolicygroupResponseItem) { + if resp != nil { + r.CanBeEditedDeleted = types.StringPointerValue(resp.CanBeEditedDeleted) + r.GroupID = types.StringPointerValue(resp.GroupID) + r.GroupName = types.StringPointerValue(resp.GroupName) + r.GroupPinnedID = types.Int64PointerValue(resp.GroupPinnedID) + r.GroupProdID = types.Int64PointerValue(resp.GroupProdID) + r.GroupType = types.StringPointerValue(resp.GroupType) + r.ModifyTime = types.StringPointerValue(resp.ModifyTime) + r.ModifyType = types.StringPointerValue(resp.ModifyType) + } +} diff --git a/internal/provider/npapublishers_resource.go b/internal/provider/npapublishers_resource.go index 6865032..9eb645a 100644 --- a/internal/provider/npapublishers_resource.go +++ b/internal/provider/npapublishers_resource.go @@ -123,10 +123,8 @@ func (r *NPAPublishersResource) Schema(ctx context.Context, req resource.SchemaR Computed: true, }, "tag_name": schema.StringAttribute{ - Computed: true, - Optional: true, - Default: stringdefault.StaticString("tag_name"), - Description: `Default: "tag_name"`, + Computed: true, + Optional: true, }, }, }, diff --git a/internal/provider/npapublishers_resource_sdk.go b/internal/provider/npapublishers_resource_sdk.go index 940cb29..6eaa81e 100644 --- a/internal/provider/npapublishers_resource_sdk.go +++ b/internal/provider/npapublishers_resource_sdk.go @@ -122,21 +122,21 @@ func (r *NPAPublishersResourceModel) ToSharedPublisherPutRequest() *shared.Publi } var tags []shared.TagItem = nil for _, tagsItem := range r.Tags { - tagID := new(int) - if !tagsItem.TagID.IsUnknown() && !tagsItem.TagID.IsNull() { - *tagID = int(tagsItem.TagID.ValueInt64()) - } else { - tagID = nil - } tagName := new(string) if !tagsItem.TagName.IsUnknown() && !tagsItem.TagName.IsNull() { *tagName = tagsItem.TagName.ValueString() } else { tagName = nil } + tagID := new(int) + if !tagsItem.TagID.IsUnknown() && !tagsItem.TagID.IsNull() { + *tagID = int(tagsItem.TagID.ValueInt64()) + } else { + tagID = nil + } tags = append(tags, shared.TagItem{ - TagID: tagID, TagName: tagName, + TagID: tagID, }) } out := shared.PublisherPutRequest{ diff --git a/internal/provider/npapublishersappslist_data_source.go b/internal/provider/npapublishersappslist_data_source.go index 9b205c5..093a0df 100644 --- a/internal/provider/npapublishersappslist_data_source.go +++ b/internal/provider/npapublishersappslist_data_source.go @@ -64,15 +64,9 @@ func (r *NPAPublishersAppsListDataSource) Schema(ctx context.Context, req dataso Computed: true, NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ - "id": schema.Int64Attribute{ - Computed: true, - }, "port": schema.StringAttribute{ Computed: true, }, - "service_id": schema.Int64Attribute{ - Computed: true, - }, "transport": schema.StringAttribute{ Computed: true, }, diff --git a/internal/provider/npapublishersappslist_data_source_sdk.go b/internal/provider/npapublishersappslist_data_source_sdk.go index 1d97c59..e4bd0ec 100644 --- a/internal/provider/npapublishersappslist_data_source_sdk.go +++ b/internal/provider/npapublishersappslist_data_source_sdk.go @@ -24,24 +24,12 @@ func (r *NPAPublishersAppsListDataSourceModel) RefreshFromSharedPublisherAppsLis data1.Name = types.StringPointerValue(dataItem.Name) for protocolsCount, protocolsItem := range dataItem.Protocols { var protocols1 ProtocolResponseItem - if protocolsItem.ID != nil { - protocols1.ID = types.Int64Value(int64(*protocolsItem.ID)) - } else { - protocols1.ID = types.Int64Null() - } protocols1.Port = types.StringPointerValue(protocolsItem.Port) - if protocolsItem.ServiceID != nil { - protocols1.ServiceID = types.Int64Value(int64(*protocolsItem.ServiceID)) - } else { - protocols1.ServiceID = types.Int64Null() - } protocols1.Transport = types.StringPointerValue(protocolsItem.Transport) if protocolsCount+1 > len(data1.Protocols) { data1.Protocols = append(data1.Protocols, protocols1) } else { - data1.Protocols[protocolsCount].ID = protocols1.ID data1.Protocols[protocolsCount].Port = protocols1.Port - data1.Protocols[protocolsCount].ServiceID = protocols1.ServiceID data1.Protocols[protocolsCount].Transport = protocols1.Transport } } diff --git a/internal/provider/npapublisherupgradeprofile_data_source.go b/internal/provider/npapublisherupgradeprofile_data_source.go new file mode 100644 index 0000000..3193ffd --- /dev/null +++ b/internal/provider/npapublisherupgradeprofile_data_source.go @@ -0,0 +1,143 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "context" + "fmt" + "github.com/hashicorp/terraform-plugin-framework/datasource" + "github.com/hashicorp/terraform-plugin-framework/datasource/schema" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" +) + +// Ensure provider defined types fully satisfy framework interfaces. +var _ datasource.DataSource = &NPAPublisherUpgradeProfileDataSource{} +var _ datasource.DataSourceWithConfigure = &NPAPublisherUpgradeProfileDataSource{} + +func NewNPAPublisherUpgradeProfileDataSource() datasource.DataSource { + return &NPAPublisherUpgradeProfileDataSource{} +} + +// NPAPublisherUpgradeProfileDataSource is the data source implementation. +type NPAPublisherUpgradeProfileDataSource struct { + client *sdk.TerraformProviderNs +} + +// NPAPublisherUpgradeProfileDataSourceModel describes the data model. +type NPAPublisherUpgradeProfileDataSourceModel struct { + DockerTag types.String `tfsdk:"docker_tag"` + Enabled types.Bool `tfsdk:"enabled"` + Frequency types.String `tfsdk:"frequency"` + ID types.Int64 `tfsdk:"id"` + Name types.String `tfsdk:"name"` + ReleaseType types.String `tfsdk:"release_type"` + Timezone types.String `tfsdk:"timezone"` +} + +// Metadata returns the data source type name. +func (r *NPAPublisherUpgradeProfileDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) { + resp.TypeName = req.ProviderTypeName + "_npa_publisher_upgrade_profile" +} + +// Schema defines the schema for the data source. +func (r *NPAPublisherUpgradeProfileDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) { + resp.Schema = schema.Schema{ + MarkdownDescription: "NPAPublisherUpgradeProfile DataSource", + + Attributes: map[string]schema.Attribute{ + "docker_tag": schema.StringAttribute{ + Computed: true, + }, + "enabled": schema.BoolAttribute{ + Computed: true, + }, + "frequency": schema.StringAttribute{ + Computed: true, + }, + "id": schema.Int64Attribute{ + Required: true, + Description: `publisher upgrade profile id`, + }, + "name": schema.StringAttribute{ + Computed: true, + }, + "release_type": schema.StringAttribute{ + Computed: true, + }, + "timezone": schema.StringAttribute{ + Computed: true, + }, + }, + } +} + +func (r *NPAPublisherUpgradeProfileDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) { + // Prevent panic if the provider has not been configured. + if req.ProviderData == nil { + return + } + + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) + + if !ok { + resp.Diagnostics.AddError( + "Unexpected DataSource Configure Type", + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), + ) + + return + } + + r.client = client +} + +func (r *NPAPublisherUpgradeProfileDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) { + var data *NPAPublisherUpgradeProfileDataSourceModel + var item types.Object + + resp.Diagnostics.Append(req.Config.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + upgradeProfileID := int(data.ID.ValueInt64()) + request := operations.GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest{ + UpgradeProfileID: upgradeProfileID, + } + res, err := r.client.NPAPublisherUpgradeProfiles.Read(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.PublisherUpgradeProfileResponse == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromSharedPublisherUpgradeProfileResponseData(res.PublisherUpgradeProfileResponse.Data) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} diff --git a/internal/provider/npapublisherupgradeprofile_data_source_sdk.go b/internal/provider/npapublisherupgradeprofile_data_source_sdk.go new file mode 100644 index 0000000..6357543 --- /dev/null +++ b/internal/provider/npapublisherupgradeprofile_data_source_sdk.go @@ -0,0 +1,24 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" +) + +func (r *NPAPublisherUpgradeProfileDataSourceModel) RefreshFromSharedPublisherUpgradeProfileResponseData(resp *shared.PublisherUpgradeProfileResponseData) { + if resp != nil { + r.DockerTag = types.StringPointerValue(resp.DockerTag) + r.Enabled = types.BoolPointerValue(resp.Enabled) + r.Frequency = types.StringPointerValue(resp.Frequency) + if resp.ID != nil { + r.ID = types.Int64Value(int64(*resp.ID)) + } else { + r.ID = types.Int64Null() + } + r.Name = types.StringPointerValue(resp.Name) + r.ReleaseType = types.StringPointerValue(resp.ReleaseType) + r.Timezone = types.StringPointerValue(resp.Timezone) + } +} diff --git a/internal/provider/npapublisherupgradeprofile_resource.go b/internal/provider/npapublisherupgradeprofile_resource.go new file mode 100644 index 0000000..749808b --- /dev/null +++ b/internal/provider/npapublisherupgradeprofile_resource.go @@ -0,0 +1,362 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "context" + "fmt" + "github.com/hashicorp/terraform-plugin-framework/path" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/schema/validator" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/validators" + "strconv" +) + +// Ensure provider defined types fully satisfy framework interfaces. +var _ resource.Resource = &NPAPublisherUpgradeProfileResource{} +var _ resource.ResourceWithImportState = &NPAPublisherUpgradeProfileResource{} + +func NewNPAPublisherUpgradeProfileResource() resource.Resource { + return &NPAPublisherUpgradeProfileResource{} +} + +// NPAPublisherUpgradeProfileResource defines the resource implementation. +type NPAPublisherUpgradeProfileResource struct { + client *sdk.TerraformProviderNs +} + +// NPAPublisherUpgradeProfileResourceModel describes the resource data model. +type NPAPublisherUpgradeProfileResourceModel struct { + DockerTag types.String `tfsdk:"docker_tag"` + Enabled types.Bool `tfsdk:"enabled"` + Frequency types.String `tfsdk:"frequency"` + ID types.Int64 `tfsdk:"id"` + Name types.String `tfsdk:"name"` + ReleaseType types.String `tfsdk:"release_type"` + Required types.String `tfsdk:"required"` + Timezone types.String `tfsdk:"timezone"` +} + +func (r *NPAPublisherUpgradeProfileResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) { + resp.TypeName = req.ProviderTypeName + "_npa_publisher_upgrade_profile" +} + +func (r *NPAPublisherUpgradeProfileResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { + resp.Schema = schema.Schema{ + MarkdownDescription: "NPAPublisherUpgradeProfile Resource", + + Attributes: map[string]schema.Attribute{ + "docker_tag": schema.StringAttribute{ + Computed: true, + Optional: true, + }, + "enabled": schema.BoolAttribute{ + Computed: true, + Optional: true, + }, + "frequency": schema.StringAttribute{ + Computed: true, + Optional: true, + }, + "id": schema.Int64Attribute{ + Computed: true, + Description: `publisher upgrade profile id`, + }, + "name": schema.StringAttribute{ + Computed: true, + Optional: true, + }, + "release_type": schema.StringAttribute{ + Computed: true, + Optional: true, + }, + "required": schema.StringAttribute{ + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplaceIfConfigured(), + }, + Optional: true, + Description: `Parsed as JSON.`, + Validators: []validator.String{ + validators.IsValidJSON(), + }, + }, + "timezone": schema.StringAttribute{ + Computed: true, + Optional: true, + }, + }, + } +} + +func (r *NPAPublisherUpgradeProfileResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) { + // Prevent panic if the provider has not been configured. + if req.ProviderData == nil { + return + } + + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) + + if !ok { + resp.Diagnostics.AddError( + "Unexpected Resource Configure Type", + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), + ) + + return + } + + r.client = client +} + +func (r *NPAPublisherUpgradeProfileResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { + var data *NPAPublisherUpgradeProfileResourceModel + var plan types.Object + + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(plan.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + publisherUpgradeProfilePostRequest := data.ToSharedPublisherUpgradeProfilePostRequest() + request := operations.PostInfrastructurePublisherupgradeprofilesRequest{ + PublisherUpgradeProfilePostRequest: publisherUpgradeProfilePostRequest, + } + res, err := r.client.NPAPublisherUpgradeProfiles.Create(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.PublisherUpgradeProfileResponse == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromSharedPublisherUpgradeProfileResponseData(res.PublisherUpgradeProfileResponse.Data) + refreshPlan(ctx, plan, &data, resp.Diagnostics) + upgradeProfileID := int(data.ID.ValueInt64()) + request1 := operations.GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest{ + UpgradeProfileID: upgradeProfileID, + } + res1, err := r.client.NPAPublisherUpgradeProfiles.Read(ctx, request1) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res1 != nil && res1.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res1.RawResponse)) + } + return + } + if res1 == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res1)) + return + } + if res1.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res1.StatusCode), debugResponse(res1.RawResponse)) + return + } + if res1.PublisherUpgradeProfileResponse == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res1.RawResponse)) + return + } + data.RefreshFromSharedPublisherUpgradeProfileResponseData(res1.PublisherUpgradeProfileResponse.Data) + refreshPlan(ctx, plan, &data, resp.Diagnostics) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} + +func (r *NPAPublisherUpgradeProfileResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { + var data *NPAPublisherUpgradeProfileResourceModel + var item types.Object + + resp.Diagnostics.Append(req.State.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + upgradeProfileID := int(data.ID.ValueInt64()) + request := operations.GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest{ + UpgradeProfileID: upgradeProfileID, + } + res, err := r.client.NPAPublisherUpgradeProfiles.Read(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.PublisherUpgradeProfileResponse == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromSharedPublisherUpgradeProfileResponseData(res.PublisherUpgradeProfileResponse.Data) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} + +func (r *NPAPublisherUpgradeProfileResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { + var data *NPAPublisherUpgradeProfileResourceModel + var plan types.Object + + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + + merge(ctx, req, resp, &data) + if resp.Diagnostics.HasError() { + return + } + + upgradeProfileID := int(data.ID.ValueInt64()) + publisherUpgradeProfilePutRequest := *data.ToSharedPublisherUpgradeProfilePutRequest() + request := operations.PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest{ + UpgradeProfileID: upgradeProfileID, + PublisherUpgradeProfilePutRequest: publisherUpgradeProfilePutRequest, + } + res, err := r.client.NPAPublisherUpgradeProfiles.Update(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.PublisherUpgradeProfileResponse == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromSharedPublisherUpgradeProfileResponseData(res.PublisherUpgradeProfileResponse.Data) + refreshPlan(ctx, plan, &data, resp.Diagnostics) + upgradeProfileId1 := int(data.ID.ValueInt64()) + request1 := operations.GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest{ + UpgradeProfileID: upgradeProfileId1, + } + res1, err := r.client.NPAPublisherUpgradeProfiles.Read(ctx, request1) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res1 != nil && res1.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res1.RawResponse)) + } + return + } + if res1 == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res1)) + return + } + if res1.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res1.StatusCode), debugResponse(res1.RawResponse)) + return + } + if res1.PublisherUpgradeProfileResponse == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res1.RawResponse)) + return + } + data.RefreshFromSharedPublisherUpgradeProfileResponseData(res1.PublisherUpgradeProfileResponse.Data) + refreshPlan(ctx, plan, &data, resp.Diagnostics) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} + +func (r *NPAPublisherUpgradeProfileResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { + var data *NPAPublisherUpgradeProfileResourceModel + var item types.Object + + resp.Diagnostics.Append(req.State.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + upgradeProfileID := int(data.ID.ValueInt64()) + request := operations.DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest{ + UpgradeProfileID: upgradeProfileID, + } + res, err := r.client.NPAPublisherUpgradeProfiles.Delete(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + +} + +func (r *NPAPublisherUpgradeProfileResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { + id2, err := strconv.Atoi(req.ID) + if err != nil { + resp.Diagnostics.AddError("Invalid ID", fmt.Sprintf("ID must be an integer but was %s", req.ID)) + } + + resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("id"), int64(id2))...) +} diff --git a/internal/provider/npapublisherupgradeprofile_resource_sdk.go b/internal/provider/npapublisherupgradeprofile_resource_sdk.go new file mode 100644 index 0000000..5c9c5fc --- /dev/null +++ b/internal/provider/npapublisherupgradeprofile_resource_sdk.go @@ -0,0 +1,133 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "encoding/json" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" +) + +func (r *NPAPublisherUpgradeProfileResourceModel) ToSharedPublisherUpgradeProfilePostRequest() *shared.PublisherUpgradeProfilePostRequest { + name := new(string) + if !r.Name.IsUnknown() && !r.Name.IsNull() { + *name = r.Name.ValueString() + } else { + name = nil + } + frequency := new(string) + if !r.Frequency.IsUnknown() && !r.Frequency.IsNull() { + *frequency = r.Frequency.ValueString() + } else { + frequency = nil + } + timezone := new(string) + if !r.Timezone.IsUnknown() && !r.Timezone.IsNull() { + *timezone = r.Timezone.ValueString() + } else { + timezone = nil + } + dockerTag := new(string) + if !r.DockerTag.IsUnknown() && !r.DockerTag.IsNull() { + *dockerTag = r.DockerTag.ValueString() + } else { + dockerTag = nil + } + releaseType := new(string) + if !r.ReleaseType.IsUnknown() && !r.ReleaseType.IsNull() { + *releaseType = r.ReleaseType.ValueString() + } else { + releaseType = nil + } + enabled := new(bool) + if !r.Enabled.IsUnknown() && !r.Enabled.IsNull() { + *enabled = r.Enabled.ValueBool() + } else { + enabled = nil + } + var required interface{} + if !r.Required.IsUnknown() && !r.Required.IsNull() { + _ = json.Unmarshal([]byte(r.Required.ValueString()), &required) + } + out := shared.PublisherUpgradeProfilePostRequest{ + Name: name, + Frequency: frequency, + Timezone: timezone, + DockerTag: dockerTag, + ReleaseType: releaseType, + Enabled: enabled, + Required: required, + } + return &out +} + +func (r *NPAPublisherUpgradeProfileResourceModel) RefreshFromSharedPublisherUpgradeProfileResponseData(resp *shared.PublisherUpgradeProfileResponseData) { + if resp != nil { + r.DockerTag = types.StringPointerValue(resp.DockerTag) + r.Enabled = types.BoolPointerValue(resp.Enabled) + r.Frequency = types.StringPointerValue(resp.Frequency) + if resp.ID != nil { + r.ID = types.Int64Value(int64(*resp.ID)) + } else { + r.ID = types.Int64Null() + } + r.Name = types.StringPointerValue(resp.Name) + r.ReleaseType = types.StringPointerValue(resp.ReleaseType) + r.Timezone = types.StringPointerValue(resp.Timezone) + } +} + +func (r *NPAPublisherUpgradeProfileResourceModel) ToSharedPublisherUpgradeProfilePutRequest() *shared.PublisherUpgradeProfilePutRequest { + name := new(string) + if !r.Name.IsUnknown() && !r.Name.IsNull() { + *name = r.Name.ValueString() + } else { + name = nil + } + id := new(int) + if !r.ID.IsUnknown() && !r.ID.IsNull() { + *id = int(r.ID.ValueInt64()) + } else { + id = nil + } + frequency := new(string) + if !r.Frequency.IsUnknown() && !r.Frequency.IsNull() { + *frequency = r.Frequency.ValueString() + } else { + frequency = nil + } + timezone := new(string) + if !r.Timezone.IsUnknown() && !r.Timezone.IsNull() { + *timezone = r.Timezone.ValueString() + } else { + timezone = nil + } + dockerTag := new(string) + if !r.DockerTag.IsUnknown() && !r.DockerTag.IsNull() { + *dockerTag = r.DockerTag.ValueString() + } else { + dockerTag = nil + } + releaseType := new(string) + if !r.ReleaseType.IsUnknown() && !r.ReleaseType.IsNull() { + *releaseType = r.ReleaseType.ValueString() + } else { + releaseType = nil + } + enabled := new(bool) + if !r.Enabled.IsUnknown() && !r.Enabled.IsNull() { + *enabled = r.Enabled.ValueBool() + } else { + enabled = nil + } + out := shared.PublisherUpgradeProfilePutRequest{ + Name: name, + ID: id, + Frequency: frequency, + Timezone: timezone, + DockerTag: dockerTag, + ReleaseType: releaseType, + Enabled: enabled, + } + return &out +} diff --git a/internal/provider/npapublisherupgradeprofilelist_data_source.go b/internal/provider/npapublisherupgradeprofilelist_data_source.go new file mode 100644 index 0000000..f90e217 --- /dev/null +++ b/internal/provider/npapublisherupgradeprofilelist_data_source.go @@ -0,0 +1,170 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "context" + "fmt" + "github.com/hashicorp/terraform-plugin-framework/datasource" + "github.com/hashicorp/terraform-plugin-framework/datasource/schema" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" +) + +// Ensure provider defined types fully satisfy framework interfaces. +var _ datasource.DataSource = &NPAPublisherUpgradeProfileListDataSource{} +var _ datasource.DataSourceWithConfigure = &NPAPublisherUpgradeProfileListDataSource{} + +func NewNPAPublisherUpgradeProfileListDataSource() datasource.DataSource { + return &NPAPublisherUpgradeProfileListDataSource{} +} + +// NPAPublisherUpgradeProfileListDataSource is the data source implementation. +type NPAPublisherUpgradeProfileListDataSource struct { + client *sdk.TerraformProviderNs +} + +// NPAPublisherUpgradeProfileListDataSourceModel describes the data model. +type NPAPublisherUpgradeProfileListDataSourceModel struct { + Data *PublisherUpgradeProfileGetResponseData `tfsdk:"data"` + Total types.Int64 `tfsdk:"total"` +} + +// Metadata returns the data source type name. +func (r *NPAPublisherUpgradeProfileListDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) { + resp.TypeName = req.ProviderTypeName + "_npa_publisher_upgrade_profile_list" +} + +// Schema defines the schema for the data source. +func (r *NPAPublisherUpgradeProfileListDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) { + resp.Schema = schema.Schema{ + MarkdownDescription: "NPAPublisherUpgradeProfileList DataSource", + + Attributes: map[string]schema.Attribute{ + "data": schema.SingleNestedAttribute{ + Computed: true, + Attributes: map[string]schema.Attribute{ + "upgrade_profiles": schema.ListNestedAttribute{ + Computed: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "created_at": schema.StringAttribute{ + Computed: true, + }, + "docker_tag": schema.StringAttribute{ + Computed: true, + }, + "enabled": schema.BoolAttribute{ + Computed: true, + }, + "external_id": schema.Int64Attribute{ + Computed: true, + }, + "frequency": schema.StringAttribute{ + Computed: true, + }, + "id": schema.Int64Attribute{ + Computed: true, + }, + "name": schema.StringAttribute{ + Computed: true, + }, + "next_update_time": schema.Int64Attribute{ + Computed: true, + }, + "num_associated_publisher": schema.Int64Attribute{ + Computed: true, + }, + "release_type": schema.StringAttribute{ + Computed: true, + }, + "timezone": schema.StringAttribute{ + Computed: true, + }, + "updated_at": schema.StringAttribute{ + Computed: true, + }, + "upgrading_stage": schema.Int64Attribute{ + Computed: true, + }, + "will_start": schema.BoolAttribute{ + Computed: true, + }, + }, + }, + }, + }, + }, + "total": schema.Int64Attribute{ + Computed: true, + }, + }, + } +} + +func (r *NPAPublisherUpgradeProfileListDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) { + // Prevent panic if the provider has not been configured. + if req.ProviderData == nil { + return + } + + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) + + if !ok { + resp.Diagnostics.AddError( + "Unexpected DataSource Configure Type", + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), + ) + + return + } + + r.client = client +} + +func (r *NPAPublisherUpgradeProfileListDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) { + var data *NPAPublisherUpgradeProfileListDataSourceModel + var item types.Object + + resp.Diagnostics.Append(req.Config.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + request := operations.GetInfrastructurePublisherupgradeprofilesRequest{} + res, err := r.client.NPAPublisherUpgradeProfiles.ListObjects(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.PublisherUpgradeProfileGetResponse == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromSharedPublisherUpgradeProfileGetResponse(res.PublisherUpgradeProfileGetResponse) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} diff --git a/internal/provider/npapublisherupgradeprofilelist_data_source_sdk.go b/internal/provider/npapublisherupgradeprofilelist_data_source_sdk.go new file mode 100644 index 0000000..7ce83e8 --- /dev/null +++ b/internal/provider/npapublisherupgradeprofilelist_data_source_sdk.go @@ -0,0 +1,77 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" +) + +func (r *NPAPublisherUpgradeProfileListDataSourceModel) RefreshFromSharedPublisherUpgradeProfileGetResponse(resp *shared.PublisherUpgradeProfileGetResponse) { + if resp != nil { + if resp.Data == nil { + r.Data = nil + } else { + r.Data = &PublisherUpgradeProfileGetResponseData{} + if len(r.Data.UpgradeProfiles) > len(resp.Data.UpgradeProfiles) { + r.Data.UpgradeProfiles = r.Data.UpgradeProfiles[:len(resp.Data.UpgradeProfiles)] + } + for upgradeProfilesCount, upgradeProfilesItem := range resp.Data.UpgradeProfiles { + var upgradeProfiles1 UpgradeProfiles + upgradeProfiles1.CreatedAt = types.StringPointerValue(upgradeProfilesItem.CreatedAt) + upgradeProfiles1.DockerTag = types.StringPointerValue(upgradeProfilesItem.DockerTag) + upgradeProfiles1.Enabled = types.BoolPointerValue(upgradeProfilesItem.Enabled) + if upgradeProfilesItem.ExternalID != nil { + upgradeProfiles1.ExternalID = types.Int64Value(int64(*upgradeProfilesItem.ExternalID)) + } else { + upgradeProfiles1.ExternalID = types.Int64Null() + } + upgradeProfiles1.Frequency = types.StringPointerValue(upgradeProfilesItem.Frequency) + if upgradeProfilesItem.ID != nil { + upgradeProfiles1.ID = types.Int64Value(int64(*upgradeProfilesItem.ID)) + } else { + upgradeProfiles1.ID = types.Int64Null() + } + upgradeProfiles1.Name = types.StringPointerValue(upgradeProfilesItem.Name) + if upgradeProfilesItem.NextUpdateTime != nil { + upgradeProfiles1.NextUpdateTime = types.Int64Value(int64(*upgradeProfilesItem.NextUpdateTime)) + } else { + upgradeProfiles1.NextUpdateTime = types.Int64Null() + } + upgradeProfiles1.NumAssociatedPublisher = types.Int64PointerValue(upgradeProfilesItem.NumAssociatedPublisher) + upgradeProfiles1.ReleaseType = types.StringPointerValue(upgradeProfilesItem.ReleaseType) + upgradeProfiles1.Timezone = types.StringPointerValue(upgradeProfilesItem.Timezone) + upgradeProfiles1.UpdatedAt = types.StringPointerValue(upgradeProfilesItem.UpdatedAt) + if upgradeProfilesItem.UpgradingStage != nil { + upgradeProfiles1.UpgradingStage = types.Int64Value(int64(*upgradeProfilesItem.UpgradingStage)) + } else { + upgradeProfiles1.UpgradingStage = types.Int64Null() + } + upgradeProfiles1.WillStart = types.BoolPointerValue(upgradeProfilesItem.WillStart) + if upgradeProfilesCount+1 > len(r.Data.UpgradeProfiles) { + r.Data.UpgradeProfiles = append(r.Data.UpgradeProfiles, upgradeProfiles1) + } else { + r.Data.UpgradeProfiles[upgradeProfilesCount].CreatedAt = upgradeProfiles1.CreatedAt + r.Data.UpgradeProfiles[upgradeProfilesCount].DockerTag = upgradeProfiles1.DockerTag + r.Data.UpgradeProfiles[upgradeProfilesCount].Enabled = upgradeProfiles1.Enabled + r.Data.UpgradeProfiles[upgradeProfilesCount].ExternalID = upgradeProfiles1.ExternalID + r.Data.UpgradeProfiles[upgradeProfilesCount].Frequency = upgradeProfiles1.Frequency + r.Data.UpgradeProfiles[upgradeProfilesCount].ID = upgradeProfiles1.ID + r.Data.UpgradeProfiles[upgradeProfilesCount].Name = upgradeProfiles1.Name + r.Data.UpgradeProfiles[upgradeProfilesCount].NextUpdateTime = upgradeProfiles1.NextUpdateTime + r.Data.UpgradeProfiles[upgradeProfilesCount].NumAssociatedPublisher = upgradeProfiles1.NumAssociatedPublisher + r.Data.UpgradeProfiles[upgradeProfilesCount].ReleaseType = upgradeProfiles1.ReleaseType + r.Data.UpgradeProfiles[upgradeProfilesCount].Timezone = upgradeProfiles1.Timezone + r.Data.UpgradeProfiles[upgradeProfilesCount].UpdatedAt = upgradeProfiles1.UpdatedAt + r.Data.UpgradeProfiles[upgradeProfilesCount].UpgradingStage = upgradeProfiles1.UpgradingStage + r.Data.UpgradeProfiles[upgradeProfilesCount].WillStart = upgradeProfiles1.WillStart + } + } + } + if resp.Total != nil { + r.Total = types.Int64Value(int64(*resp.Total)) + } else { + r.Total = types.Int64Null() + } + } +} diff --git a/internal/provider/policygrouplist_data_source.go b/internal/provider/policygrouplist_data_source.go new file mode 100644 index 0000000..20f8b3a --- /dev/null +++ b/internal/provider/policygrouplist_data_source.go @@ -0,0 +1,204 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "context" + "fmt" + "github.com/hashicorp/terraform-plugin-framework/datasource" + "github.com/hashicorp/terraform-plugin-framework/datasource/schema" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" +) + +// Ensure provider defined types fully satisfy framework interfaces. +var _ datasource.DataSource = &PolicyGroupListDataSource{} +var _ datasource.DataSourceWithConfigure = &PolicyGroupListDataSource{} + +func NewPolicyGroupListDataSource() datasource.DataSource { + return &PolicyGroupListDataSource{} +} + +// PolicyGroupListDataSource is the data source implementation. +type PolicyGroupListDataSource struct { + client *sdk.TerraformProviderNs +} + +// PolicyGroupListDataSourceModel describes the data model. +type PolicyGroupListDataSourceModel struct { + Data []NpaPolicygroupResponseItem `tfsdk:"data"` + Filter types.String `tfsdk:"filter"` + Limit types.Int64 `tfsdk:"limit"` + Offset types.Int64 `tfsdk:"offset"` + Sortby types.String `tfsdk:"sortby"` + Sortorder types.String `tfsdk:"sortorder"` +} + +// Metadata returns the data source type name. +func (r *PolicyGroupListDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) { + resp.TypeName = req.ProviderTypeName + "_policy_group_list" +} + +// Schema defines the schema for the data source. +func (r *PolicyGroupListDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) { + resp.Schema = schema.Schema{ + MarkdownDescription: "PolicyGroupList DataSource", + + Attributes: map[string]schema.Attribute{ + "data": schema.ListNestedAttribute{ + Computed: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "can_be_edited_deleted": schema.StringAttribute{ + Computed: true, + }, + "group_id": schema.StringAttribute{ + Computed: true, + }, + "group_name": schema.StringAttribute{ + Computed: true, + }, + "group_pinned_id": schema.Int64Attribute{ + Computed: true, + }, + "group_prod_id": schema.Int64Attribute{ + Computed: true, + }, + "group_type": schema.StringAttribute{ + Computed: true, + }, + "modify_time": schema.StringAttribute{ + Computed: true, + }, + "modify_type": schema.StringAttribute{ + Computed: true, + }, + }, + }, + }, + "filter": schema.StringAttribute{ + Optional: true, + Description: `Query string based on query operaters`, + }, + "limit": schema.Int64Attribute{ + Optional: true, + Description: `Max number of policy groups to retrieve. Default will be all policy groups.`, + }, + "offset": schema.Int64Attribute{ + Optional: true, + Description: `The offset of the first policy group in the list to retrieve.`, + }, + "sortby": schema.StringAttribute{ + Optional: true, + Description: `Sort retrieved policy group by specified field. Default is policy group id`, + }, + "sortorder": schema.StringAttribute{ + Optional: true, + Description: `Sort in either asc or desc order. The default is asc order`, + }, + }, + } +} + +func (r *PolicyGroupListDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) { + // Prevent panic if the provider has not been configured. + if req.ProviderData == nil { + return + } + + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) + + if !ok { + resp.Diagnostics.AddError( + "Unexpected DataSource Configure Type", + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), + ) + + return + } + + r.client = client +} + +func (r *PolicyGroupListDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) { + var data *PolicyGroupListDataSourceModel + var item types.Object + + resp.Diagnostics.Append(req.Config.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + filter := new(string) + if !data.Filter.IsUnknown() && !data.Filter.IsNull() { + *filter = data.Filter.ValueString() + } else { + filter = nil + } + limit := new(int64) + if !data.Limit.IsUnknown() && !data.Limit.IsNull() { + *limit = data.Limit.ValueInt64() + } else { + limit = nil + } + offset := new(int64) + if !data.Offset.IsUnknown() && !data.Offset.IsNull() { + *offset = data.Offset.ValueInt64() + } else { + offset = nil + } + sortby := new(string) + if !data.Sortby.IsUnknown() && !data.Sortby.IsNull() { + *sortby = data.Sortby.ValueString() + } else { + sortby = nil + } + sortorder := new(string) + if !data.Sortorder.IsUnknown() && !data.Sortorder.IsNull() { + *sortorder = data.Sortorder.ValueString() + } else { + sortorder = nil + } + request := operations.GetPolicyNpaPolicygroupsRequest{ + Filter: filter, + Limit: limit, + Offset: offset, + Sortby: sortby, + Sortorder: sortorder, + } + res, err := r.client.GetPolicyNpaPolicygroups(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.NpaPolicygroupResponse == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromSharedNpaPolicygroupResponse(res.NpaPolicygroupResponse) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} diff --git a/internal/provider/policygrouplist_data_source_sdk.go b/internal/provider/policygrouplist_data_source_sdk.go new file mode 100644 index 0000000..b27325c --- /dev/null +++ b/internal/provider/policygrouplist_data_source_sdk.go @@ -0,0 +1,39 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" +) + +func (r *PolicyGroupListDataSourceModel) RefreshFromSharedNpaPolicygroupResponse(resp *shared.NpaPolicygroupResponse) { + if resp != nil { + if len(r.Data) > len(resp.Data) { + r.Data = r.Data[:len(resp.Data)] + } + for dataCount, dataItem := range resp.Data { + var data1 NpaPolicygroupResponseItem + data1.CanBeEditedDeleted = types.StringPointerValue(dataItem.CanBeEditedDeleted) + data1.GroupID = types.StringPointerValue(dataItem.GroupID) + data1.GroupName = types.StringPointerValue(dataItem.GroupName) + data1.GroupPinnedID = types.Int64PointerValue(dataItem.GroupPinnedID) + data1.GroupProdID = types.Int64PointerValue(dataItem.GroupProdID) + data1.GroupType = types.StringPointerValue(dataItem.GroupType) + data1.ModifyTime = types.StringPointerValue(dataItem.ModifyTime) + data1.ModifyType = types.StringPointerValue(dataItem.ModifyType) + if dataCount+1 > len(r.Data) { + r.Data = append(r.Data, data1) + } else { + r.Data[dataCount].CanBeEditedDeleted = data1.CanBeEditedDeleted + r.Data[dataCount].GroupID = data1.GroupID + r.Data[dataCount].GroupName = data1.GroupName + r.Data[dataCount].GroupPinnedID = data1.GroupPinnedID + r.Data[dataCount].GroupProdID = data1.GroupProdID + r.Data[dataCount].GroupType = data1.GroupType + r.Data[dataCount].ModifyTime = data1.ModifyTime + r.Data[dataCount].ModifyType = data1.ModifyType + } + } + } +} diff --git a/internal/provider/privateapp_resource.go b/internal/provider/privateapp_resource.go new file mode 100644 index 0000000..2420581 --- /dev/null +++ b/internal/provider/privateapp_resource.go @@ -0,0 +1,367 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "context" + "fmt" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" +) + +// Ensure provider defined types fully satisfy framework interfaces. +var _ resource.Resource = &PrivateAppResource{} +var _ resource.ResourceWithImportState = &PrivateAppResource{} + +func NewPrivateAppResource() resource.Resource { + return &PrivateAppResource{} +} + +// PrivateAppResource defines the resource implementation. +type PrivateAppResource struct { + client *sdk.TerraformProviderNs +} + +// PrivateAppResourceModel describes the resource data model. +type PrivateAppResourceModel struct { + AppName types.String `tfsdk:"app_name"` + ClientlessAccess types.Bool `tfsdk:"clientless_access"` + Host types.String `tfsdk:"host"` + ID types.Int64 `tfsdk:"id"` + Name types.String `tfsdk:"name"` + Protocols []ProtocolItem `tfsdk:"protocols"` + Publishers []PublisherItem `tfsdk:"publishers"` + PublisherTags []TagItemNoID `tfsdk:"publisher_tags"` + RealHost types.String `tfsdk:"real_host"` + ResolvedProtocols []ProtocolResponseItem `tfsdk:"resolved_protocols"` + ServicePublisherAssignments []ServicePublisherAssignmentItem `tfsdk:"service_publisher_assignments"` + Tags []TagItem `tfsdk:"tags"` + TrustSelfSignedCerts types.Bool `tfsdk:"trust_self_signed_certs"` + UsePublisherDNS types.Bool `tfsdk:"use_publisher_dns"` +} + +func (r *PrivateAppResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) { + resp.TypeName = req.ProviderTypeName + "_private_app" +} + +func (r *PrivateAppResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { + resp.Schema = schema.Schema{ + MarkdownDescription: "PrivateApp Resource", + + Attributes: map[string]schema.Attribute{ + "app_name": schema.StringAttribute{ + Optional: true, + }, + "clientless_access": schema.BoolAttribute{ + Computed: true, + Optional: true, + }, + "host": schema.StringAttribute{ + Computed: true, + Optional: true, + }, + "id": schema.Int64Attribute{ + Computed: true, + Description: `private apps id`, + }, + "name": schema.StringAttribute{ + Computed: true, + }, + "protocols": schema.ListNestedAttribute{ + Optional: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "port": schema.StringAttribute{ + Optional: true, + }, + "type": schema.StringAttribute{ + Optional: true, + }, + }, + }, + }, + "publishers": schema.ListNestedAttribute{ + Optional: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "publisher_id": schema.StringAttribute{ + Optional: true, + }, + "publisher_name": schema.StringAttribute{ + Optional: true, + }, + }, + }, + }, + "publisher_tags": schema.ListNestedAttribute{ + Optional: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "tag_name": schema.StringAttribute{ + Optional: true, + }, + }, + }, + }, + "real_host": schema.StringAttribute{ + Computed: true, + Optional: true, + }, + "resolved_protocols": schema.ListNestedAttribute{ + Computed: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "port": schema.StringAttribute{ + Computed: true, + }, + "transport": schema.StringAttribute{ + Computed: true, + }, + }, + }, + }, + "service_publisher_assignments": schema.ListNestedAttribute{ + Computed: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "primary": schema.BoolAttribute{ + Computed: true, + }, + "publisher_id": schema.Int64Attribute{ + Computed: true, + }, + "reachability": schema.SingleNestedAttribute{ + Computed: true, + Attributes: map[string]schema.Attribute{ + "error_code": schema.Int64Attribute{ + Computed: true, + }, + "error_string": schema.StringAttribute{ + Computed: true, + }, + "reachable": schema.BoolAttribute{ + Computed: true, + }, + }, + }, + "service_id": schema.Int64Attribute{ + Computed: true, + }, + }, + }, + }, + "tags": schema.ListNestedAttribute{ + Computed: true, + Optional: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "tag_id": schema.Int64Attribute{ + Computed: true, + }, + "tag_name": schema.StringAttribute{ + Computed: true, + Optional: true, + }, + }, + }, + }, + "trust_self_signed_certs": schema.BoolAttribute{ + Computed: true, + Optional: true, + }, + "use_publisher_dns": schema.BoolAttribute{ + Computed: true, + Optional: true, + }, + }, + } +} + +func (r *PrivateAppResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) { + // Prevent panic if the provider has not been configured. + if req.ProviderData == nil { + return + } + + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) + + if !ok { + resp.Diagnostics.AddError( + "Unexpected Resource Configure Type", + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), + ) + + return + } + + r.client = client +} + +func (r *PrivateAppResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { + var data *PrivateAppResourceModel + var plan types.Object + + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(plan.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + privateAppsRequest := *data.ToSharedPrivateAppsRequest() + request := operations.PostSteeringAppsPrivateRequest{ + PrivateAppsRequest: privateAppsRequest, + } + res, err := r.client.PostSteeringAppsPrivate(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.PrivateAppsResponse == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromSharedPrivateAppsResponseData(res.PrivateAppsResponse.Data) + refreshPlan(ctx, plan, &data, resp.Diagnostics) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} + +func (r *PrivateAppResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { + var data *PrivateAppResourceModel + var item types.Object + + resp.Diagnostics.Append(req.State.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + // Not Implemented; we rely entirely on CREATE API request response + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} + +func (r *PrivateAppResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { + var data *PrivateAppResourceModel + var plan types.Object + + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + + merge(ctx, req, resp, &data) + if resp.Diagnostics.HasError() { + return + } + + privateAppID := int(data.ID.ValueInt64()) + privateAppsPutRequest := *data.ToSharedPrivateAppsPutRequest() + request := operations.PutSteeringAppsPrivatePrivateAppIDRequest{ + PrivateAppID: privateAppID, + PrivateAppsPutRequest: privateAppsPutRequest, + } + res, err := r.client.PutSteeringAppsPrivatePrivateAppID(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.PrivateAppsResponse == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromSharedPrivateAppsResponseData(res.PrivateAppsResponse.Data) + refreshPlan(ctx, plan, &data, resp.Diagnostics) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} + +func (r *PrivateAppResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { + var data *PrivateAppResourceModel + var item types.Object + + resp.Diagnostics.Append(req.State.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + privateAppID := int(data.ID.ValueInt64()) + request := operations.DeleteSteeringAppsPrivatePrivateAppIDRequest{ + PrivateAppID: privateAppID, + } + res, err := r.client.DeleteSteeringAppsPrivatePrivateAppID(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + +} + +func (r *PrivateAppResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { + resp.Diagnostics.AddError("Not Implemented", "No available import state operation is available for resource private_app.") +} diff --git a/internal/provider/privateapp_resource_sdk.go b/internal/provider/privateapp_resource_sdk.go new file mode 100644 index 0000000..a88f3c1 --- /dev/null +++ b/internal/provider/privateapp_resource_sdk.go @@ -0,0 +1,328 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" +) + +func (r *PrivateAppResourceModel) ToSharedPrivateAppsRequest() *shared.PrivateAppsRequest { + appName := new(string) + if !r.AppName.IsUnknown() && !r.AppName.IsNull() { + *appName = r.AppName.ValueString() + } else { + appName = nil + } + host := new(string) + if !r.Host.IsUnknown() && !r.Host.IsNull() { + *host = r.Host.ValueString() + } else { + host = nil + } + realHost := new(string) + if !r.RealHost.IsUnknown() && !r.RealHost.IsNull() { + *realHost = r.RealHost.ValueString() + } else { + realHost = nil + } + var protocols []shared.ProtocolItem = nil + for _, protocolsItem := range r.Protocols { + typeVar := new(string) + if !protocolsItem.Type.IsUnknown() && !protocolsItem.Type.IsNull() { + *typeVar = protocolsItem.Type.ValueString() + } else { + typeVar = nil + } + port := new(string) + if !protocolsItem.Port.IsUnknown() && !protocolsItem.Port.IsNull() { + *port = protocolsItem.Port.ValueString() + } else { + port = nil + } + protocols = append(protocols, shared.ProtocolItem{ + Type: typeVar, + Port: port, + }) + } + var publishers []shared.PublisherItem = nil + for _, publishersItem := range r.Publishers { + publisherID := new(string) + if !publishersItem.PublisherID.IsUnknown() && !publishersItem.PublisherID.IsNull() { + *publisherID = publishersItem.PublisherID.ValueString() + } else { + publisherID = nil + } + publisherName := new(string) + if !publishersItem.PublisherName.IsUnknown() && !publishersItem.PublisherName.IsNull() { + *publisherName = publishersItem.PublisherName.ValueString() + } else { + publisherName = nil + } + publishers = append(publishers, shared.PublisherItem{ + PublisherID: publisherID, + PublisherName: publisherName, + }) + } + var publisherTags []shared.TagItemNoID = nil + for _, publisherTagsItem := range r.PublisherTags { + tagName := new(string) + if !publisherTagsItem.TagName.IsUnknown() && !publisherTagsItem.TagName.IsNull() { + *tagName = publisherTagsItem.TagName.ValueString() + } else { + tagName = nil + } + publisherTags = append(publisherTags, shared.TagItemNoID{ + TagName: tagName, + }) + } + var tags []shared.TagItemNoID = nil + for _, tagsItem := range r.Tags { + tagName1 := new(string) + if !tagsItem.TagName.IsUnknown() && !tagsItem.TagName.IsNull() { + *tagName1 = tagsItem.TagName.ValueString() + } else { + tagName1 = nil + } + tags = append(tags, shared.TagItemNoID{ + TagName: tagName1, + }) + } + usePublisherDNS := new(bool) + if !r.UsePublisherDNS.IsUnknown() && !r.UsePublisherDNS.IsNull() { + *usePublisherDNS = r.UsePublisherDNS.ValueBool() + } else { + usePublisherDNS = nil + } + clientlessAccess := new(bool) + if !r.ClientlessAccess.IsUnknown() && !r.ClientlessAccess.IsNull() { + *clientlessAccess = r.ClientlessAccess.ValueBool() + } else { + clientlessAccess = nil + } + trustSelfSignedCerts := new(bool) + if !r.TrustSelfSignedCerts.IsUnknown() && !r.TrustSelfSignedCerts.IsNull() { + *trustSelfSignedCerts = r.TrustSelfSignedCerts.ValueBool() + } else { + trustSelfSignedCerts = nil + } + out := shared.PrivateAppsRequest{ + AppName: appName, + Host: host, + RealHost: realHost, + Protocols: protocols, + Publishers: publishers, + PublisherTags: publisherTags, + Tags: tags, + UsePublisherDNS: usePublisherDNS, + ClientlessAccess: clientlessAccess, + TrustSelfSignedCerts: trustSelfSignedCerts, + } + return &out +} + +func (r *PrivateAppResourceModel) RefreshFromSharedPrivateAppsResponseData(resp *shared.PrivateAppsResponseData) { + if resp != nil { + r.ClientlessAccess = types.BoolPointerValue(resp.ClientlessAccess) + r.Host = types.StringPointerValue(resp.Host) + if resp.ID != nil { + r.ID = types.Int64Value(int64(*resp.ID)) + } else { + r.ID = types.Int64Null() + } + r.Name = types.StringPointerValue(resp.Name) + r.RealHost = types.StringPointerValue(resp.RealHost) + if len(r.ResolvedProtocols) > len(resp.ResolvedProtocols) { + r.ResolvedProtocols = r.ResolvedProtocols[:len(resp.ResolvedProtocols)] + } + for resolvedProtocolsCount, resolvedProtocolsItem := range resp.ResolvedProtocols { + var resolvedProtocols1 ProtocolResponseItem + resolvedProtocols1.Port = types.StringPointerValue(resolvedProtocolsItem.Port) + resolvedProtocols1.Transport = types.StringPointerValue(resolvedProtocolsItem.Transport) + if resolvedProtocolsCount+1 > len(r.ResolvedProtocols) { + r.ResolvedProtocols = append(r.ResolvedProtocols, resolvedProtocols1) + } else { + r.ResolvedProtocols[resolvedProtocolsCount].Port = resolvedProtocols1.Port + r.ResolvedProtocols[resolvedProtocolsCount].Transport = resolvedProtocols1.Transport + } + } + if len(r.ServicePublisherAssignments) > len(resp.ServicePublisherAssignments) { + r.ServicePublisherAssignments = r.ServicePublisherAssignments[:len(resp.ServicePublisherAssignments)] + } + for servicePublisherAssignmentsCount, servicePublisherAssignmentsItem := range resp.ServicePublisherAssignments { + var servicePublisherAssignments1 ServicePublisherAssignmentItem + servicePublisherAssignments1.Primary = types.BoolPointerValue(servicePublisherAssignmentsItem.Primary) + if servicePublisherAssignmentsItem.PublisherID != nil { + servicePublisherAssignments1.PublisherID = types.Int64Value(int64(*servicePublisherAssignmentsItem.PublisherID)) + } else { + servicePublisherAssignments1.PublisherID = types.Int64Null() + } + if servicePublisherAssignmentsItem.Reachability == nil { + servicePublisherAssignments1.Reachability = nil + } else { + servicePublisherAssignments1.Reachability = &Reachability{} + if servicePublisherAssignmentsItem.Reachability.ErrorCode != nil { + servicePublisherAssignments1.Reachability.ErrorCode = types.Int64Value(int64(*servicePublisherAssignmentsItem.Reachability.ErrorCode)) + } else { + servicePublisherAssignments1.Reachability.ErrorCode = types.Int64Null() + } + servicePublisherAssignments1.Reachability.ErrorString = types.StringPointerValue(servicePublisherAssignmentsItem.Reachability.ErrorString) + servicePublisherAssignments1.Reachability.Reachable = types.BoolPointerValue(servicePublisherAssignmentsItem.Reachability.Reachable) + } + if servicePublisherAssignmentsItem.ServiceID != nil { + servicePublisherAssignments1.ServiceID = types.Int64Value(int64(*servicePublisherAssignmentsItem.ServiceID)) + } else { + servicePublisherAssignments1.ServiceID = types.Int64Null() + } + if servicePublisherAssignmentsCount+1 > len(r.ServicePublisherAssignments) { + r.ServicePublisherAssignments = append(r.ServicePublisherAssignments, servicePublisherAssignments1) + } else { + r.ServicePublisherAssignments[servicePublisherAssignmentsCount].Primary = servicePublisherAssignments1.Primary + r.ServicePublisherAssignments[servicePublisherAssignmentsCount].PublisherID = servicePublisherAssignments1.PublisherID + r.ServicePublisherAssignments[servicePublisherAssignmentsCount].Reachability = servicePublisherAssignments1.Reachability + r.ServicePublisherAssignments[servicePublisherAssignmentsCount].ServiceID = servicePublisherAssignments1.ServiceID + } + } + if len(r.Tags) > len(resp.Tags) { + r.Tags = r.Tags[:len(resp.Tags)] + } + for tagsCount, tagsItem := range resp.Tags { + var tags1 TagItem + if tagsItem.TagID != nil { + tags1.TagID = types.Int64Value(int64(*tagsItem.TagID)) + } else { + tags1.TagID = types.Int64Null() + } + tags1.TagName = types.StringPointerValue(tagsItem.TagName) + if tagsCount+1 > len(r.Tags) { + r.Tags = append(r.Tags, tags1) + } else { + r.Tags[tagsCount].TagID = tags1.TagID + r.Tags[tagsCount].TagName = tags1.TagName + } + } + r.TrustSelfSignedCerts = types.BoolPointerValue(resp.TrustSelfSignedCerts) + r.UsePublisherDNS = types.BoolPointerValue(resp.UsePublisherDNS) + } +} + +func (r *PrivateAppResourceModel) ToSharedPrivateAppsPutRequest() *shared.PrivateAppsPutRequest { + id := new(int) + if !r.ID.IsUnknown() && !r.ID.IsNull() { + *id = int(r.ID.ValueInt64()) + } else { + id = nil + } + appName := new(string) + if !r.AppName.IsUnknown() && !r.AppName.IsNull() { + *appName = r.AppName.ValueString() + } else { + appName = nil + } + host := new(string) + if !r.Host.IsUnknown() && !r.Host.IsNull() { + *host = r.Host.ValueString() + } else { + host = nil + } + realHost := new(string) + if !r.RealHost.IsUnknown() && !r.RealHost.IsNull() { + *realHost = r.RealHost.ValueString() + } else { + realHost = nil + } + var protocols []shared.ProtocolItem = nil + for _, protocolsItem := range r.Protocols { + typeVar := new(string) + if !protocolsItem.Type.IsUnknown() && !protocolsItem.Type.IsNull() { + *typeVar = protocolsItem.Type.ValueString() + } else { + typeVar = nil + } + port := new(string) + if !protocolsItem.Port.IsUnknown() && !protocolsItem.Port.IsNull() { + *port = protocolsItem.Port.ValueString() + } else { + port = nil + } + protocols = append(protocols, shared.ProtocolItem{ + Type: typeVar, + Port: port, + }) + } + var publishers []shared.PublisherItem = nil + for _, publishersItem := range r.Publishers { + publisherID := new(string) + if !publishersItem.PublisherID.IsUnknown() && !publishersItem.PublisherID.IsNull() { + *publisherID = publishersItem.PublisherID.ValueString() + } else { + publisherID = nil + } + publisherName := new(string) + if !publishersItem.PublisherName.IsUnknown() && !publishersItem.PublisherName.IsNull() { + *publisherName = publishersItem.PublisherName.ValueString() + } else { + publisherName = nil + } + publishers = append(publishers, shared.PublisherItem{ + PublisherID: publisherID, + PublisherName: publisherName, + }) + } + var publisherTags []shared.TagItemNoID = nil + for _, publisherTagsItem := range r.PublisherTags { + tagName := new(string) + if !publisherTagsItem.TagName.IsUnknown() && !publisherTagsItem.TagName.IsNull() { + *tagName = publisherTagsItem.TagName.ValueString() + } else { + tagName = nil + } + publisherTags = append(publisherTags, shared.TagItemNoID{ + TagName: tagName, + }) + } + var tags []shared.TagItemNoID = nil + for _, tagsItem := range r.Tags { + tagName1 := new(string) + if !tagsItem.TagName.IsUnknown() && !tagsItem.TagName.IsNull() { + *tagName1 = tagsItem.TagName.ValueString() + } else { + tagName1 = nil + } + tags = append(tags, shared.TagItemNoID{ + TagName: tagName1, + }) + } + usePublisherDNS := new(bool) + if !r.UsePublisherDNS.IsUnknown() && !r.UsePublisherDNS.IsNull() { + *usePublisherDNS = r.UsePublisherDNS.ValueBool() + } else { + usePublisherDNS = nil + } + clientlessAccess := new(bool) + if !r.ClientlessAccess.IsUnknown() && !r.ClientlessAccess.IsNull() { + *clientlessAccess = r.ClientlessAccess.ValueBool() + } else { + clientlessAccess = nil + } + trustSelfSignedCerts := new(bool) + if !r.TrustSelfSignedCerts.IsUnknown() && !r.TrustSelfSignedCerts.IsNull() { + *trustSelfSignedCerts = r.TrustSelfSignedCerts.ValueBool() + } else { + trustSelfSignedCerts = nil + } + out := shared.PrivateAppsPutRequest{ + ID: id, + AppName: appName, + Host: host, + RealHost: realHost, + Protocols: protocols, + Publishers: publishers, + PublisherTags: publisherTags, + Tags: tags, + UsePublisherDNS: usePublisherDNS, + ClientlessAccess: clientlessAccess, + TrustSelfSignedCerts: trustSelfSignedCerts, + } + return &out +} diff --git a/internal/provider/privateapplist_data_source.go b/internal/provider/privateapplist_data_source.go new file mode 100644 index 0000000..5639723 --- /dev/null +++ b/internal/provider/privateapplist_data_source.go @@ -0,0 +1,138 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "context" + "fmt" + "github.com/hashicorp/terraform-plugin-framework/datasource" + "github.com/hashicorp/terraform-plugin-framework/datasource/schema" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" +) + +// Ensure provider defined types fully satisfy framework interfaces. +var _ datasource.DataSource = &PrivateAppListDataSource{} +var _ datasource.DataSourceWithConfigure = &PrivateAppListDataSource{} + +func NewPrivateAppListDataSource() datasource.DataSource { + return &PrivateAppListDataSource{} +} + +// PrivateAppListDataSource is the data source implementation. +type PrivateAppListDataSource struct { + client *sdk.TerraformProviderNs +} + +// PrivateAppListDataSourceModel describes the data model. +type PrivateAppListDataSourceModel struct { + Data *PrivateAppsGetResponseData `tfsdk:"data"` + Fields types.String `tfsdk:"fields"` + Total types.Int64 `tfsdk:"total"` +} + +// Metadata returns the data source type name. +func (r *PrivateAppListDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) { + resp.TypeName = req.ProviderTypeName + "_private_app_list" +} + +// Schema defines the schema for the data source. +func (r *PrivateAppListDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) { + resp.Schema = schema.Schema{ + MarkdownDescription: "PrivateAppList DataSource", + + Attributes: map[string]schema.Attribute{ + "data": schema.SingleNestedAttribute{ + Computed: true, + Attributes: map[string]schema.Attribute{ + "private_apps": schema.ListAttribute{ + Computed: true, + ElementType: types.StringType, + }, + }, + }, + "fields": schema.StringAttribute{ + Optional: true, + Description: `Return values only from specified fields`, + }, + "total": schema.Int64Attribute{ + Computed: true, + }, + }, + } +} + +func (r *PrivateAppListDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) { + // Prevent panic if the provider has not been configured. + if req.ProviderData == nil { + return + } + + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) + + if !ok { + resp.Diagnostics.AddError( + "Unexpected DataSource Configure Type", + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), + ) + + return + } + + r.client = client +} + +func (r *PrivateAppListDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) { + var data *PrivateAppListDataSourceModel + var item types.Object + + resp.Diagnostics.Append(req.Config.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + fields := new(string) + if !data.Fields.IsUnknown() && !data.Fields.IsNull() { + *fields = data.Fields.ValueString() + } else { + fields = nil + } + request := operations.GetSteeringAppsPrivateRequest{ + Fields: fields, + } + res, err := r.client.GetSteeringAppsPrivate(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.PrivateAppsGetResponse == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromSharedPrivateAppsGetResponse(res.PrivateAppsGetResponse) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} diff --git a/internal/provider/privateapplist_data_source_sdk.go b/internal/provider/privateapplist_data_source_sdk.go new file mode 100644 index 0000000..6366347 --- /dev/null +++ b/internal/provider/privateapplist_data_source_sdk.go @@ -0,0 +1,31 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "encoding/json" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" +) + +func (r *PrivateAppListDataSourceModel) RefreshFromSharedPrivateAppsGetResponse(resp *shared.PrivateAppsGetResponse) { + if resp != nil { + if resp.Data == nil { + r.Data = nil + } else { + r.Data = &PrivateAppsGetResponseData{} + r.Data.PrivateApps = nil + for _, privateAppsItem := range resp.Data.PrivateApps { + var privateApps1 types.String + privateApps1Result, _ := json.Marshal(privateAppsItem) + privateApps1 = types.StringValue(string(privateApps1Result)) + r.Data.PrivateApps = append(r.Data.PrivateApps, privateApps1) + } + } + if resp.Total != nil { + r.Total = types.Int64Value(int64(*resp.Total)) + } else { + r.Total = types.Int64Null() + } + } +} diff --git a/internal/provider/privateapptag_resource.go b/internal/provider/privateapptag_resource.go new file mode 100644 index 0000000..e3ff01d --- /dev/null +++ b/internal/provider/privateapptag_resource.go @@ -0,0 +1,259 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "context" + "fmt" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/listplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" +) + +// Ensure provider defined types fully satisfy framework interfaces. +var _ resource.Resource = &PrivateAppTagResource{} +var _ resource.ResourceWithImportState = &PrivateAppTagResource{} + +func NewPrivateAppTagResource() resource.Resource { + return &PrivateAppTagResource{} +} + +// PrivateAppTagResource defines the resource implementation. +type PrivateAppTagResource struct { + client *sdk.TerraformProviderNs +} + +// PrivateAppTagResourceModel describes the resource data model. +type PrivateAppTagResourceModel struct { + ID types.String `tfsdk:"id"` + Ids []types.String `tfsdk:"ids"` + PublisherTags []TagItem `tfsdk:"publisher_tags"` + TagID types.Int64 `tfsdk:"tag_id"` + TagName types.String `tfsdk:"tag_name"` + Tags []TagItem `tfsdk:"tags"` +} + +func (r *PrivateAppTagResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) { + resp.TypeName = req.ProviderTypeName + "_private_app_tag" +} + +func (r *PrivateAppTagResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { + resp.Schema = schema.Schema{ + MarkdownDescription: "PrivateAppTag Resource", + + Attributes: map[string]schema.Attribute{ + "id": schema.StringAttribute{ + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplaceIfConfigured(), + }, + Optional: true, + Description: `Requires replacement if changed. `, + }, + "ids": schema.ListAttribute{ + PlanModifiers: []planmodifier.List{ + listplanmodifier.RequiresReplaceIfConfigured(), + }, + Optional: true, + ElementType: types.StringType, + Description: `Requires replacement if changed. `, + }, + "publisher_tags": schema.ListNestedAttribute{ + PlanModifiers: []planmodifier.List{ + listplanmodifier.RequiresReplaceIfConfigured(), + }, + Optional: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "tag_id": schema.Int64Attribute{ + PlanModifiers: []planmodifier.Int64{ + int64planmodifier.RequiresReplaceIfConfigured(), + }, + Optional: true, + Description: `Requires replacement if changed. `, + }, + "tag_name": schema.StringAttribute{ + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplaceIfConfigured(), + }, + Optional: true, + Description: `Requires replacement if changed. `, + }, + }, + }, + Description: `Requires replacement if changed. `, + }, + "tag_id": schema.Int64Attribute{ + Computed: true, + }, + "tag_name": schema.StringAttribute{ + Computed: true, + }, + "tags": schema.ListNestedAttribute{ + PlanModifiers: []planmodifier.List{ + listplanmodifier.RequiresReplaceIfConfigured(), + }, + Optional: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "tag_id": schema.Int64Attribute{ + PlanModifiers: []planmodifier.Int64{ + int64planmodifier.RequiresReplaceIfConfigured(), + }, + Optional: true, + Description: `Requires replacement if changed. `, + }, + "tag_name": schema.StringAttribute{ + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplaceIfConfigured(), + }, + Optional: true, + Description: `Requires replacement if changed. `, + }, + }, + }, + Description: `Requires replacement if changed. `, + }, + }, + } +} + +func (r *PrivateAppTagResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) { + // Prevent panic if the provider has not been configured. + if req.ProviderData == nil { + return + } + + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) + + if !ok { + resp.Diagnostics.AddError( + "Unexpected Resource Configure Type", + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), + ) + + return + } + + r.client = client +} + +func (r *PrivateAppTagResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { + var data *PrivateAppTagResourceModel + var plan types.Object + + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(plan.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + request := *data.ToSharedTagRequest() + res, err := r.client.PostSteeringAppsPrivateTags(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.TagResponse == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromSharedTagResponseData(res.TagResponse.Data[0]) + refreshPlan(ctx, plan, &data, resp.Diagnostics) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} + +func (r *PrivateAppTagResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { + var data *PrivateAppTagResourceModel + var item types.Object + + resp.Diagnostics.Append(req.State.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + // Not Implemented; we rely entirely on CREATE API request response + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} + +func (r *PrivateAppTagResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { + var data *PrivateAppTagResourceModel + var plan types.Object + + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + + merge(ctx, req, resp, &data) + if resp.Diagnostics.HasError() { + return + } + + // Not Implemented; all attributes marked as RequiresReplace + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} + +func (r *PrivateAppTagResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { + var data *PrivateAppTagResourceModel + var item types.Object + + resp.Diagnostics.Append(req.State.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + // Not Implemented; entity does not have a configured DELETE operation +} + +func (r *PrivateAppTagResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { + resp.Diagnostics.AddError("Not Implemented", "No available import state operation is available for resource private_app_tag.") +} diff --git a/internal/provider/privateapptag_resource_sdk.go b/internal/provider/privateapptag_resource_sdk.go new file mode 100644 index 0000000..1c7fbbc --- /dev/null +++ b/internal/provider/privateapptag_resource_sdk.go @@ -0,0 +1,75 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" +) + +func (r *PrivateAppTagResourceModel) ToSharedTagRequest() *shared.TagRequest { + id := new(string) + if !r.ID.IsUnknown() && !r.ID.IsNull() { + *id = r.ID.ValueString() + } else { + id = nil + } + var ids []string = nil + for _, idsItem := range r.Ids { + ids = append(ids, idsItem.ValueString()) + } + var tags []shared.TagItem = nil + for _, tagsItem := range r.Tags { + tagName := new(string) + if !tagsItem.TagName.IsUnknown() && !tagsItem.TagName.IsNull() { + *tagName = tagsItem.TagName.ValueString() + } else { + tagName = nil + } + tagID := new(int) + if !tagsItem.TagID.IsUnknown() && !tagsItem.TagID.IsNull() { + *tagID = int(tagsItem.TagID.ValueInt64()) + } else { + tagID = nil + } + tags = append(tags, shared.TagItem{ + TagName: tagName, + TagID: tagID, + }) + } + var publisherTags []shared.TagItem = nil + for _, publisherTagsItem := range r.PublisherTags { + tagName1 := new(string) + if !publisherTagsItem.TagName.IsUnknown() && !publisherTagsItem.TagName.IsNull() { + *tagName1 = publisherTagsItem.TagName.ValueString() + } else { + tagName1 = nil + } + tagId1 := new(int) + if !publisherTagsItem.TagID.IsUnknown() && !publisherTagsItem.TagID.IsNull() { + *tagId1 = int(publisherTagsItem.TagID.ValueInt64()) + } else { + tagId1 = nil + } + publisherTags = append(publisherTags, shared.TagItem{ + TagName: tagName1, + TagID: tagId1, + }) + } + out := shared.TagRequest{ + ID: id, + Ids: ids, + Tags: tags, + PublisherTags: publisherTags, + } + return &out +} + +func (r *PrivateAppTagResourceModel) RefreshFromSharedTagResponseData(resp shared.TagResponseData) { + if resp.TagID != nil { + r.TagID = types.Int64Value(int64(*resp.TagID)) + } else { + r.TagID = types.Int64Null() + } + r.TagName = types.StringPointerValue(resp.TagName) +} diff --git a/internal/provider/privateapptaglist_data_source.go b/internal/provider/privateapptaglist_data_source.go new file mode 100644 index 0000000..a65e172 --- /dev/null +++ b/internal/provider/privateapptaglist_data_source.go @@ -0,0 +1,123 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "context" + "fmt" + "github.com/hashicorp/terraform-plugin-framework/datasource" + "github.com/hashicorp/terraform-plugin-framework/datasource/schema" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" +) + +// Ensure provider defined types fully satisfy framework interfaces. +var _ datasource.DataSource = &PrivateAppTagListDataSource{} +var _ datasource.DataSourceWithConfigure = &PrivateAppTagListDataSource{} + +func NewPrivateAppTagListDataSource() datasource.DataSource { + return &PrivateAppTagListDataSource{} +} + +// PrivateAppTagListDataSource is the data source implementation. +type PrivateAppTagListDataSource struct { + client *sdk.TerraformProviderNs +} + +// PrivateAppTagListDataSourceModel describes the data model. +type PrivateAppTagListDataSourceModel struct { + Data []TagItem `tfsdk:"data"` +} + +// Metadata returns the data source type name. +func (r *PrivateAppTagListDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) { + resp.TypeName = req.ProviderTypeName + "_private_app_tag_list" +} + +// Schema defines the schema for the data source. +func (r *PrivateAppTagListDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) { + resp.Schema = schema.Schema{ + MarkdownDescription: "PrivateAppTagList DataSource", + + Attributes: map[string]schema.Attribute{ + "data": schema.ListNestedAttribute{ + Computed: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "tag_id": schema.Int64Attribute{ + Computed: true, + }, + "tag_name": schema.StringAttribute{ + Computed: true, + }, + }, + }, + }, + }, + } +} + +func (r *PrivateAppTagListDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) { + // Prevent panic if the provider has not been configured. + if req.ProviderData == nil { + return + } + + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) + + if !ok { + resp.Diagnostics.AddError( + "Unexpected DataSource Configure Type", + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), + ) + + return + } + + r.client = client +} + +func (r *PrivateAppTagListDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) { + var data *PrivateAppTagListDataSourceModel + var item types.Object + + resp.Diagnostics.Append(req.Config.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + res, err := r.client.GetSteeringAppsPrivateTags(ctx) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.TagResponse == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromSharedTagResponse(res.TagResponse) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} diff --git a/internal/provider/privateapptaglist_data_source_sdk.go b/internal/provider/privateapptaglist_data_source_sdk.go new file mode 100644 index 0000000..2197401 --- /dev/null +++ b/internal/provider/privateapptaglist_data_source_sdk.go @@ -0,0 +1,31 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" +) + +func (r *PrivateAppTagListDataSourceModel) RefreshFromSharedTagResponse(resp *shared.TagResponse) { + if resp != nil { + if len(r.Data) > len(resp.Data) { + r.Data = r.Data[:len(resp.Data)] + } + for dataCount, dataItem := range resp.Data { + var data1 TagItem + if dataItem.TagID != nil { + data1.TagID = types.Int64Value(int64(*dataItem.TagID)) + } else { + data1.TagID = types.Int64Null() + } + data1.TagName = types.StringPointerValue(dataItem.TagName) + if dataCount+1 > len(r.Data) { + r.Data = append(r.Data, data1) + } else { + r.Data[dataCount].TagID = data1.TagID + r.Data[dataCount].TagName = data1.TagName + } + } + } +} diff --git a/internal/provider/privateapptagpolicyuselist_data_source.go b/internal/provider/privateapptagpolicyuselist_data_source.go new file mode 100644 index 0000000..6ef1346 --- /dev/null +++ b/internal/provider/privateapptagpolicyuselist_data_source.go @@ -0,0 +1,126 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "context" + "fmt" + "github.com/hashicorp/terraform-plugin-framework/datasource" + "github.com/hashicorp/terraform-plugin-framework/datasource/schema" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" +) + +// Ensure provider defined types fully satisfy framework interfaces. +var _ datasource.DataSource = &PrivateAppTagPolicyUseListDataSource{} +var _ datasource.DataSourceWithConfigure = &PrivateAppTagPolicyUseListDataSource{} + +func NewPrivateAppTagPolicyUseListDataSource() datasource.DataSource { + return &PrivateAppTagPolicyUseListDataSource{} +} + +// PrivateAppTagPolicyUseListDataSource is the data source implementation. +type PrivateAppTagPolicyUseListDataSource struct { + client *sdk.TerraformProviderNs +} + +// PrivateAppTagPolicyUseListDataSourceModel describes the data model. +type PrivateAppTagPolicyUseListDataSourceModel struct { + Data []PostSteeringAppsPrivateTagsGetpolicyinuseData `tfsdk:"data"` + Ids []types.String `tfsdk:"ids"` +} + +// Metadata returns the data source type name. +func (r *PrivateAppTagPolicyUseListDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) { + resp.TypeName = req.ProviderTypeName + "_private_app_tag_policy_use_list" +} + +// Schema defines the schema for the data source. +func (r *PrivateAppTagPolicyUseListDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) { + resp.Schema = schema.Schema{ + MarkdownDescription: "PrivateAppTagPolicyUseList DataSource", + + Attributes: map[string]schema.Attribute{ + "data": schema.ListNestedAttribute{ + Computed: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "token": schema.StringAttribute{ + Computed: true, + }, + }, + }, + }, + "ids": schema.ListAttribute{ + Optional: true, + ElementType: types.StringType, + }, + }, + } +} + +func (r *PrivateAppTagPolicyUseListDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) { + // Prevent panic if the provider has not been configured. + if req.ProviderData == nil { + return + } + + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) + + if !ok { + resp.Diagnostics.AddError( + "Unexpected DataSource Configure Type", + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), + ) + + return + } + + r.client = client +} + +func (r *PrivateAppTagPolicyUseListDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) { + var data *PrivateAppTagPolicyUseListDataSourceModel + var item types.Object + + resp.Diagnostics.Append(req.Config.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + request := *data.ToOperationsPostSteeringAppsPrivateTagsGetpolicyinuseRequestBody() + res, err := r.client.PostSteeringAppsPrivateTagsGetpolicyinuse(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.Object == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromOperationsPostSteeringAppsPrivateTagsGetpolicyinuseResponseBody(res.Object) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} diff --git a/internal/provider/privateapptagpolicyuselist_data_source_sdk.go b/internal/provider/privateapptagpolicyuselist_data_source_sdk.go new file mode 100644 index 0000000..8996f32 --- /dev/null +++ b/internal/provider/privateapptagpolicyuselist_data_source_sdk.go @@ -0,0 +1,36 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" +) + +func (r *PrivateAppTagPolicyUseListDataSourceModel) ToOperationsPostSteeringAppsPrivateTagsGetpolicyinuseRequestBody() *operations.PostSteeringAppsPrivateTagsGetpolicyinuseRequestBody { + var ids []string = nil + for _, idsItem := range r.Ids { + ids = append(ids, idsItem.ValueString()) + } + out := operations.PostSteeringAppsPrivateTagsGetpolicyinuseRequestBody{ + Ids: ids, + } + return &out +} + +func (r *PrivateAppTagPolicyUseListDataSourceModel) RefreshFromOperationsPostSteeringAppsPrivateTagsGetpolicyinuseResponseBody(resp *operations.PostSteeringAppsPrivateTagsGetpolicyinuseResponseBody) { + if resp != nil { + if len(r.Data) > len(resp.Data) { + r.Data = r.Data[:len(resp.Data)] + } + for dataCount, dataItem := range resp.Data { + var data1 PostSteeringAppsPrivateTagsGetpolicyinuseData + data1.Token = types.StringPointerValue(dataItem.Token) + if dataCount+1 > len(r.Data) { + r.Data = append(r.Data, data1) + } else { + r.Data[dataCount].Token = data1.Token + } + } + } +} diff --git a/internal/provider/provider.go b/internal/provider/provider.go index 4b46771..0d9932a 100644 --- a/internal/provider/provider.go +++ b/internal/provider/provider.go @@ -85,9 +85,13 @@ func (p *TerraformProvider) Configure(ctx context.Context, req provider.Configur func (p *TerraformProvider) Resources(ctx context.Context) []func() resource.Resource { return []func() resource.Resource{ NewNPAPolicyResource, + NewNPAPolicyGroupResource, NewNPAPublishersResource, NewNPAPublishersAlertsConfigurationResource, NewNPAPublishersBulkUpgradeResource, + NewNPAPublisherUpgradeProfileResource, + NewPrivateAppResource, + NewPrivateAppTagResource, NewPublisherTokenResource, } } @@ -95,12 +99,19 @@ func (p *TerraformProvider) Resources(ctx context.Context) []func() resource.Res func (p *TerraformProvider) DataSources(ctx context.Context) []func() datasource.DataSource { return []func() datasource.DataSource{ NewNPAPolicyDataSource, + NewNPAPolicyGroupDataSource, NewNPAPolicyListDataSource, NewNPAPublishersDataSource, NewNPAPublishersAlertsConfigurationDataSource, NewNPAPublishersAppsListDataSource, NewNPAPublishersListDataSource, NewNPAPublishersReleasesListDataSource, + NewNPAPublisherUpgradeProfileDataSource, + NewNPAPublisherUpgradeProfileListDataSource, + NewPolicyGroupListDataSource, + NewPrivateAppListDataSource, + NewPrivateAppTagListDataSource, + NewPrivateAppTagPolicyUseListDataSource, } } diff --git a/internal/provider/publishertoken_resource.go b/internal/provider/publishertoken_resource.go index 40eb009..816d1b9 100644 --- a/internal/provider/publishertoken_resource.go +++ b/internal/provider/publishertoken_resource.go @@ -119,7 +119,7 @@ func (r *PublisherTokenResource) Create(ctx context.Context, req resource.Create resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) return } - data.RefreshFromOperationsData(res.Object.Data) + data.RefreshFromOperationsPostInfrastructurePublishersPublisherIDRegistrationTokenData(res.Object.Data) refreshPlan(ctx, plan, &data, resp.Diagnostics) // Save updated data into Terraform state diff --git a/internal/provider/publishertoken_resource_sdk.go b/internal/provider/publishertoken_resource_sdk.go index 979a810..5cf97e9 100644 --- a/internal/provider/publishertoken_resource_sdk.go +++ b/internal/provider/publishertoken_resource_sdk.go @@ -7,6 +7,6 @@ import ( "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" ) -func (r *PublisherTokenResourceModel) RefreshFromOperationsData(resp operations.Data) { +func (r *PublisherTokenResourceModel) RefreshFromOperationsPostInfrastructurePublishersPublisherIDRegistrationTokenData(resp operations.PostInfrastructurePublishersPublisherIDRegistrationTokenData) { r.Token = types.StringValue(resp.Token) } diff --git a/internal/provider/type_group_order.go b/internal/provider/type_group_order.go new file mode 100644 index 0000000..eb58e90 --- /dev/null +++ b/internal/provider/type_group_order.go @@ -0,0 +1,10 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import "github.com/hashicorp/terraform-plugin-framework/types" + +type GroupOrder struct { + GroupID types.String `tfsdk:"group_id"` + Order types.String `tfsdk:"order"` +} diff --git a/internal/provider/type_npa_policygroup_response_item.go b/internal/provider/type_npa_policygroup_response_item.go new file mode 100644 index 0000000..956e068 --- /dev/null +++ b/internal/provider/type_npa_policygroup_response_item.go @@ -0,0 +1,16 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import "github.com/hashicorp/terraform-plugin-framework/types" + +type NpaPolicygroupResponseItem struct { + CanBeEditedDeleted types.String `tfsdk:"can_be_edited_deleted"` + GroupID types.String `tfsdk:"group_id"` + GroupName types.String `tfsdk:"group_name"` + GroupPinnedID types.Int64 `tfsdk:"group_pinned_id"` + GroupProdID types.Int64 `tfsdk:"group_prod_id"` + GroupType types.String `tfsdk:"group_type"` + ModifyTime types.String `tfsdk:"modify_time"` + ModifyType types.String `tfsdk:"modify_type"` +} diff --git a/internal/provider/type_post_steering_apps_private_tags_getpolicyinuse_data.go b/internal/provider/type_post_steering_apps_private_tags_getpolicyinuse_data.go new file mode 100644 index 0000000..3b40645 --- /dev/null +++ b/internal/provider/type_post_steering_apps_private_tags_getpolicyinuse_data.go @@ -0,0 +1,9 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import "github.com/hashicorp/terraform-plugin-framework/types" + +type PostSteeringAppsPrivateTagsGetpolicyinuseData struct { + Token types.String `tfsdk:"token"` +} diff --git a/internal/provider/type_private_apps_get_response_data.go b/internal/provider/type_private_apps_get_response_data.go new file mode 100644 index 0000000..7610718 --- /dev/null +++ b/internal/provider/type_private_apps_get_response_data.go @@ -0,0 +1,9 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import "github.com/hashicorp/terraform-plugin-framework/types" + +type PrivateAppsGetResponseData struct { + PrivateApps []types.String `tfsdk:"private_apps"` +} diff --git a/internal/provider/type_protocol_item.go b/internal/provider/type_protocol_item.go new file mode 100644 index 0000000..43ae8e7 --- /dev/null +++ b/internal/provider/type_protocol_item.go @@ -0,0 +1,10 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import "github.com/hashicorp/terraform-plugin-framework/types" + +type ProtocolItem struct { + Port types.String `tfsdk:"port"` + Type types.String `tfsdk:"type"` +} diff --git a/internal/provider/type_protocol_response_item.go b/internal/provider/type_protocol_response_item.go index 35e3231..698717e 100644 --- a/internal/provider/type_protocol_response_item.go +++ b/internal/provider/type_protocol_response_item.go @@ -5,8 +5,6 @@ package provider import "github.com/hashicorp/terraform-plugin-framework/types" type ProtocolResponseItem struct { - ID types.Int64 `tfsdk:"id"` Port types.String `tfsdk:"port"` - ServiceID types.Int64 `tfsdk:"service_id"` Transport types.String `tfsdk:"transport"` } diff --git a/internal/provider/type_publisher_item.go b/internal/provider/type_publisher_item.go new file mode 100644 index 0000000..405cc03 --- /dev/null +++ b/internal/provider/type_publisher_item.go @@ -0,0 +1,10 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import "github.com/hashicorp/terraform-plugin-framework/types" + +type PublisherItem struct { + PublisherID types.String `tfsdk:"publisher_id"` + PublisherName types.String `tfsdk:"publisher_name"` +} diff --git a/internal/provider/type_publisher_upgrade_profile_get_response_data.go b/internal/provider/type_publisher_upgrade_profile_get_response_data.go new file mode 100644 index 0000000..e43659c --- /dev/null +++ b/internal/provider/type_publisher_upgrade_profile_get_response_data.go @@ -0,0 +1,7 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +type PublisherUpgradeProfileGetResponseData struct { + UpgradeProfiles []UpgradeProfiles `tfsdk:"upgrade_profiles"` +} diff --git a/internal/provider/type_tag_item_no_id.go b/internal/provider/type_tag_item_no_id.go new file mode 100644 index 0000000..c81a4f5 --- /dev/null +++ b/internal/provider/type_tag_item_no_id.go @@ -0,0 +1,9 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import "github.com/hashicorp/terraform-plugin-framework/types" + +type TagItemNoID struct { + TagName types.String `tfsdk:"tag_name"` +} diff --git a/internal/provider/type_upgrade_profiles.go b/internal/provider/type_upgrade_profiles.go new file mode 100644 index 0000000..4596563 --- /dev/null +++ b/internal/provider/type_upgrade_profiles.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import "github.com/hashicorp/terraform-plugin-framework/types" + +type UpgradeProfiles struct { + CreatedAt types.String `tfsdk:"created_at"` + DockerTag types.String `tfsdk:"docker_tag"` + Enabled types.Bool `tfsdk:"enabled"` + ExternalID types.Int64 `tfsdk:"external_id"` + Frequency types.String `tfsdk:"frequency"` + ID types.Int64 `tfsdk:"id"` + Name types.String `tfsdk:"name"` + NextUpdateTime types.Int64 `tfsdk:"next_update_time"` + NumAssociatedPublisher types.Int64 `tfsdk:"num_associated_publisher"` + ReleaseType types.String `tfsdk:"release_type"` + Timezone types.String `tfsdk:"timezone"` + UpdatedAt types.String `tfsdk:"updated_at"` + UpgradingStage types.Int64 `tfsdk:"upgrading_stage"` + WillStart types.Bool `tfsdk:"will_start"` +} diff --git a/internal/sdk/npapublisherupgradeprofiles.go b/internal/sdk/npapublisherupgradeprofiles.go new file mode 100644 index 0000000..6cb6638 --- /dev/null +++ b/internal/sdk/npapublisherupgradeprofiles.go @@ -0,0 +1,406 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package sdk + +import ( + "bytes" + "context" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/sdkerrors" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" + "io" + "net/http" + "strings" +) + +type NPAPublisherUpgradeProfiles struct { + sdkConfiguration sdkConfiguration +} + +func newNPAPublisherUpgradeProfiles(sdkConfig sdkConfiguration) *NPAPublisherUpgradeProfiles { + return &NPAPublisherUpgradeProfiles{ + sdkConfiguration: sdkConfig, + } +} + +// ListObjects - Get list of publisher upgrade profile objects +// Get list of publisher upgrade profile objects +func (s *NPAPublisherUpgradeProfiles) ListObjects(ctx context.Context, request operations.GetInfrastructurePublisherupgradeprofilesRequest) (*operations.GetInfrastructurePublisherupgradeprofilesResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publisherupgradeprofiles" + + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.GetInfrastructurePublisherupgradeprofilesResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.PublisherUpgradeProfileGetResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PublisherUpgradeProfileGetResponse = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.FourHundred + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundred = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// Create a publisher upgrade profile +// Create a publisher upgrade profile +func (s *NPAPublisherUpgradeProfiles) Create(ctx context.Context, request operations.PostInfrastructurePublisherupgradeprofilesRequest) (*operations.PostInfrastructurePublisherupgradeprofilesResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publisherupgradeprofiles" + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "PublisherUpgradeProfilePostRequest", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, fmt.Errorf("error serializing request body: %w", err) + } + debugBody := bytes.NewBuffer([]byte{}) + debugReader := io.TeeReader(bodyReader, debugBody) + + req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Request.Body = io.NopCloser(debugBody) + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.PostInfrastructurePublisherupgradeprofilesResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.PublisherUpgradeProfileResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PublisherUpgradeProfileResponse = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.FourHundred + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundred = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// Delete a publisher +// Delete a publisher upgrade profile based on profile id +func (s *NPAPublisherUpgradeProfiles) Delete(ctx context.Context, request operations.DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) (*operations.DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publisherupgradeprofiles/{upgrade_profile_id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.FourHundred + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundred = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// Update a publisher upgrade profile +// update a publisher upgrade profile based on publisher upgrade profile id +func (s *NPAPublisherUpgradeProfiles) Update(ctx context.Context, request operations.PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) (*operations.PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publisherupgradeprofiles/{upgrade_profile_id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PublisherUpgradeProfilePutRequest", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, fmt.Errorf("error serializing request body: %w", err) + } + if bodyReader == nil { + return nil, fmt.Errorf("request body is required") + } + + debugBody := bytes.NewBuffer([]byte{}) + debugReader := io.TeeReader(bodyReader, debugBody) + + req, err := http.NewRequestWithContext(ctx, "PUT", url, debugReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Request.Body = io.NopCloser(debugBody) + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.PublisherUpgradeProfileResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PublisherUpgradeProfileResponse = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.FourHundred + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundred = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// Read - Get a publisher upgrade profile +// get a publisher upgrade profile based on publisher upgrade profile id +func (s *NPAPublisherUpgradeProfiles) Read(ctx context.Context, request operations.GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) (*operations.GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publisherupgradeprofiles/{upgrade_profile_id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.PublisherUpgradeProfileResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PublisherUpgradeProfileResponse = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.FourHundred + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundred = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} diff --git a/internal/sdk/pkg/models/operations/deleteinfrastructurepublisherspublisherid.go b/internal/sdk/pkg/models/operations/deleteinfrastructurepublisherspublisherid.go index 5783e6e..80f361d 100644 --- a/internal/sdk/pkg/models/operations/deleteinfrastructurepublisherspublisherid.go +++ b/internal/sdk/pkg/models/operations/deleteinfrastructurepublisherspublisherid.go @@ -21,18 +21,18 @@ func (o *DeleteInfrastructurePublishersPublisherIDRequest) GetPublisherID() int return o.PublisherID } -type Status string +type DeleteInfrastructurePublishersPublisherIDStatus string const ( - StatusSuccess Status = "success" - StatusError Status = "error" + DeleteInfrastructurePublishersPublisherIDStatusSuccess DeleteInfrastructurePublishersPublisherIDStatus = "success" + DeleteInfrastructurePublishersPublisherIDStatusError DeleteInfrastructurePublishersPublisherIDStatus = "error" ) -func (e Status) ToPointer() *Status { +func (e DeleteInfrastructurePublishersPublisherIDStatus) ToPointer() *DeleteInfrastructurePublishersPublisherIDStatus { return &e } -func (e *Status) UnmarshalJSON(data []byte) error { +func (e *DeleteInfrastructurePublishersPublisherIDStatus) UnmarshalJSON(data []byte) error { var v string if err := json.Unmarshal(data, &v); err != nil { return err @@ -41,19 +41,19 @@ func (e *Status) UnmarshalJSON(data []byte) error { case "success": fallthrough case "error": - *e = Status(v) + *e = DeleteInfrastructurePublishersPublisherIDStatus(v) return nil default: - return fmt.Errorf("invalid value for Status: %v", v) + return fmt.Errorf("invalid value for DeleteInfrastructurePublishersPublisherIDStatus: %v", v) } } // DeleteInfrastructurePublishersPublisherIDResponseBody - successful operation type DeleteInfrastructurePublishersPublisherIDResponseBody struct { - Status *Status `json:"status,omitempty"` + Status *DeleteInfrastructurePublishersPublisherIDStatus `json:"status,omitempty"` } -func (o *DeleteInfrastructurePublishersPublisherIDResponseBody) GetStatus() *Status { +func (o *DeleteInfrastructurePublishersPublisherIDResponseBody) GetStatus() *DeleteInfrastructurePublishersPublisherIDStatus { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/deleteinfrastructurepublisherupgradeprofilesupgradeprofileid.go b/internal/sdk/pkg/models/operations/deleteinfrastructurepublisherupgradeprofilesupgradeprofileid.go new file mode 100644 index 0000000..7ee1392 --- /dev/null +++ b/internal/sdk/pkg/models/operations/deleteinfrastructurepublisherupgradeprofilesupgradeprofileid.go @@ -0,0 +1,109 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest struct { + // publisher upgrade profile id + UpgradeProfileID int `pathParam:"style=simple,explode=false,name=upgrade_profile_id"` +} + +func (o *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) GetUpgradeProfileID() int { + if o == nil { + return 0 + } + return o.UpgradeProfileID +} + +type DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus string + +const ( + DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatusSuccess DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus = "success" + DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatusError DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus = "error" +) + +func (e DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus) ToPointer() *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus { + return &e +} + +func (e *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "success": + fallthrough + case "error": + *e = DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus(v) + return nil + default: + return fmt.Errorf("invalid value for DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus: %v", v) + } +} + +// DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponseBody - successful operation +type DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponseBody struct { + Status *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus `json:"status,omitempty"` +} + +func (o *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponseBody) GetStatus() *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus { + if o == nil { + return nil + } + return o.Status +} + +type DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + Object *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponseBody + // Invalid request + FourHundred *shared.FourHundred +} + +func (o *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetObject() *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponseBody { + if o == nil { + return nil + } + return o.Object +} + +func (o *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetFourHundred() *shared.FourHundred { + if o == nil { + return nil + } + return o.FourHundred +} diff --git a/internal/sdk/pkg/models/operations/deletepolicynpapolicygroupsid.go b/internal/sdk/pkg/models/operations/deletepolicynpapolicygroupsid.go new file mode 100644 index 0000000..6ea2a1c --- /dev/null +++ b/internal/sdk/pkg/models/operations/deletepolicynpapolicygroupsid.go @@ -0,0 +1,109 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type DeletePolicyNpaPolicygroupsIDRequest struct { + // npa policy group id + ID string `pathParam:"style=simple,explode=false,name=id"` +} + +func (o *DeletePolicyNpaPolicygroupsIDRequest) GetID() string { + if o == nil { + return "" + } + return o.ID +} + +type Status string + +const ( + StatusSuccess Status = "success" + StatusError Status = "error" +) + +func (e Status) ToPointer() *Status { + return &e +} + +func (e *Status) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "success": + fallthrough + case "error": + *e = Status(v) + return nil + default: + return fmt.Errorf("invalid value for Status: %v", v) + } +} + +// DeletePolicyNpaPolicygroupsIDResponseBody - successful operation +type DeletePolicyNpaPolicygroupsIDResponseBody struct { + Status *Status `json:"status,omitempty"` +} + +func (o *DeletePolicyNpaPolicygroupsIDResponseBody) GetStatus() *Status { + if o == nil { + return nil + } + return o.Status +} + +type DeletePolicyNpaPolicygroupsIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + Object *DeletePolicyNpaPolicygroupsIDResponseBody + // Invalid request + NpaPolicygroupResponse400 *shared.NpaPolicygroupResponse400 +} + +func (o *DeletePolicyNpaPolicygroupsIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *DeletePolicyNpaPolicygroupsIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *DeletePolicyNpaPolicygroupsIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *DeletePolicyNpaPolicygroupsIDResponse) GetObject() *DeletePolicyNpaPolicygroupsIDResponseBody { + if o == nil { + return nil + } + return o.Object +} + +func (o *DeletePolicyNpaPolicygroupsIDResponse) GetNpaPolicygroupResponse400() *shared.NpaPolicygroupResponse400 { + if o == nil { + return nil + } + return o.NpaPolicygroupResponse400 +} diff --git a/internal/sdk/pkg/models/operations/deletesteeringappsprivateprivateappid.go b/internal/sdk/pkg/models/operations/deletesteeringappsprivateprivateappid.go new file mode 100644 index 0000000..46e7dae --- /dev/null +++ b/internal/sdk/pkg/models/operations/deletesteeringappsprivateprivateappid.go @@ -0,0 +1,72 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type DeleteSteeringAppsPrivatePrivateAppIDRequest struct { + // private apps id + PrivateAppID int `pathParam:"style=simple,explode=false,name=private_app_id"` +} + +func (o *DeleteSteeringAppsPrivatePrivateAppIDRequest) GetPrivateAppID() int { + if o == nil { + return 0 + } + return o.PrivateAppID +} + +// DeleteSteeringAppsPrivatePrivateAppIDResponseBody - successful operation +type DeleteSteeringAppsPrivatePrivateAppIDResponseBody struct { +} + +type DeleteSteeringAppsPrivatePrivateAppIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + Object *DeleteSteeringAppsPrivatePrivateAppIDResponseBody + // Invalid request + PrivateAppsResponse400 *shared.PrivateAppsResponse400 +} + +func (o *DeleteSteeringAppsPrivatePrivateAppIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *DeleteSteeringAppsPrivatePrivateAppIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *DeleteSteeringAppsPrivatePrivateAppIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *DeleteSteeringAppsPrivatePrivateAppIDResponse) GetObject() *DeleteSteeringAppsPrivatePrivateAppIDResponseBody { + if o == nil { + return nil + } + return o.Object +} + +func (o *DeleteSteeringAppsPrivatePrivateAppIDResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { + if o == nil { + return nil + } + return o.PrivateAppsResponse400 +} diff --git a/internal/sdk/pkg/models/operations/deletesteeringappsprivatetags.go b/internal/sdk/pkg/models/operations/deletesteeringappsprivatetags.go new file mode 100644 index 0000000..3f7ac25 --- /dev/null +++ b/internal/sdk/pkg/models/operations/deletesteeringappsprivatetags.go @@ -0,0 +1,56 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type DeleteSteeringAppsPrivateTagsResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + TagResponse *shared.TagResponse + // Invalid request + TagResponse400 *shared.TagResponse400 +} + +func (o *DeleteSteeringAppsPrivateTagsResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *DeleteSteeringAppsPrivateTagsResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *DeleteSteeringAppsPrivateTagsResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *DeleteSteeringAppsPrivateTagsResponse) GetTagResponse() *shared.TagResponse { + if o == nil { + return nil + } + return o.TagResponse +} + +func (o *DeleteSteeringAppsPrivateTagsResponse) GetTagResponse400() *shared.TagResponse400 { + if o == nil { + return nil + } + return o.TagResponse400 +} diff --git a/internal/sdk/pkg/models/operations/deletesteeringappsprivatetagstagid.go b/internal/sdk/pkg/models/operations/deletesteeringappsprivatetagstagid.go new file mode 100644 index 0000000..9e5cde3 --- /dev/null +++ b/internal/sdk/pkg/models/operations/deletesteeringappsprivatetagstagid.go @@ -0,0 +1,80 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type DeleteSteeringAppsPrivateTagsTagIDRequest struct { + // tag id + TagID int `pathParam:"style=simple,explode=false,name=tag_id"` + TagRequest shared.TagRequest `request:"mediaType=application/json"` +} + +func (o *DeleteSteeringAppsPrivateTagsTagIDRequest) GetTagID() int { + if o == nil { + return 0 + } + return o.TagID +} + +func (o *DeleteSteeringAppsPrivateTagsTagIDRequest) GetTagRequest() shared.TagRequest { + if o == nil { + return shared.TagRequest{} + } + return o.TagRequest +} + +// DeleteSteeringAppsPrivateTagsTagIDResponseBody - successful operation +type DeleteSteeringAppsPrivateTagsTagIDResponseBody struct { +} + +type DeleteSteeringAppsPrivateTagsTagIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + Object *DeleteSteeringAppsPrivateTagsTagIDResponseBody + // Invalid request + TagResponse400 *shared.TagResponse400 +} + +func (o *DeleteSteeringAppsPrivateTagsTagIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *DeleteSteeringAppsPrivateTagsTagIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *DeleteSteeringAppsPrivateTagsTagIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *DeleteSteeringAppsPrivateTagsTagIDResponse) GetObject() *DeleteSteeringAppsPrivateTagsTagIDResponseBody { + if o == nil { + return nil + } + return o.Object +} + +func (o *DeleteSteeringAppsPrivateTagsTagIDResponse) GetTagResponse400() *shared.TagResponse400 { + if o == nil { + return nil + } + return o.TagResponse400 +} diff --git a/internal/sdk/pkg/models/operations/deletesteeringgretunnelsid.go b/internal/sdk/pkg/models/operations/deletesteeringgretunnelsid.go new file mode 100644 index 0000000..d1f7175 --- /dev/null +++ b/internal/sdk/pkg/models/operations/deletesteeringgretunnelsid.go @@ -0,0 +1,104 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type DeleteSteeringGreTunnelsIDRequest struct { + // GRE tunnel id + ID int64 `pathParam:"style=simple,explode=false,name=id"` +} + +func (o *DeleteSteeringGreTunnelsIDRequest) GetID() int64 { + if o == nil { + return 0 + } + return o.ID +} + +type DeleteSteeringGreTunnelsIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successful operation + GreResponse200 *shared.GreResponse200 + // Access forbidden + GreResponse403 *shared.GreResponse403 + // Not found + GreResponse404 *shared.GreResponse404 + // Method not allowed + GreResponse405 *shared.GreResponse405 + // Too many requests + GreResponse429 *shared.GreResponse429 + // Internal server error + GreResponse500 *shared.GreResponse500 +} + +func (o *DeleteSteeringGreTunnelsIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *DeleteSteeringGreTunnelsIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *DeleteSteeringGreTunnelsIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *DeleteSteeringGreTunnelsIDResponse) GetGreResponse200() *shared.GreResponse200 { + if o == nil { + return nil + } + return o.GreResponse200 +} + +func (o *DeleteSteeringGreTunnelsIDResponse) GetGreResponse403() *shared.GreResponse403 { + if o == nil { + return nil + } + return o.GreResponse403 +} + +func (o *DeleteSteeringGreTunnelsIDResponse) GetGreResponse404() *shared.GreResponse404 { + if o == nil { + return nil + } + return o.GreResponse404 +} + +func (o *DeleteSteeringGreTunnelsIDResponse) GetGreResponse405() *shared.GreResponse405 { + if o == nil { + return nil + } + return o.GreResponse405 +} + +func (o *DeleteSteeringGreTunnelsIDResponse) GetGreResponse429() *shared.GreResponse429 { + if o == nil { + return nil + } + return o.GreResponse429 +} + +func (o *DeleteSteeringGreTunnelsIDResponse) GetGreResponse500() *shared.GreResponse500 { + if o == nil { + return nil + } + return o.GreResponse500 +} diff --git a/internal/sdk/pkg/models/operations/deletesteeringipsectunnelsid.go b/internal/sdk/pkg/models/operations/deletesteeringipsectunnelsid.go new file mode 100644 index 0000000..b3b2c73 --- /dev/null +++ b/internal/sdk/pkg/models/operations/deletesteeringipsectunnelsid.go @@ -0,0 +1,104 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type DeleteSteeringIpsecTunnelsIDRequest struct { + // IPSec tunnel id + ID int64 `pathParam:"style=simple,explode=false,name=id"` +} + +func (o *DeleteSteeringIpsecTunnelsIDRequest) GetID() int64 { + if o == nil { + return 0 + } + return o.ID +} + +type DeleteSteeringIpsecTunnelsIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successful operation + IpsecResponse200 *shared.IpsecResponse200 + // Access forbidden + IpsecResponse403 *shared.IpsecResponse403 + // Not found + IpsecResponse404 *shared.IpsecResponse404 + // Method not allowed + IpsecResponse405 *shared.IpsecResponse405 + // Too many requests + IpsecResponse429 *shared.IpsecResponse429 + // Internal server error + IpsecResponse500 *shared.IpsecResponse500 +} + +func (o *DeleteSteeringIpsecTunnelsIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *DeleteSteeringIpsecTunnelsIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *DeleteSteeringIpsecTunnelsIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *DeleteSteeringIpsecTunnelsIDResponse) GetIpsecResponse200() *shared.IpsecResponse200 { + if o == nil { + return nil + } + return o.IpsecResponse200 +} + +func (o *DeleteSteeringIpsecTunnelsIDResponse) GetIpsecResponse403() *shared.IpsecResponse403 { + if o == nil { + return nil + } + return o.IpsecResponse403 +} + +func (o *DeleteSteeringIpsecTunnelsIDResponse) GetIpsecResponse404() *shared.IpsecResponse404 { + if o == nil { + return nil + } + return o.IpsecResponse404 +} + +func (o *DeleteSteeringIpsecTunnelsIDResponse) GetIpsecResponse405() *shared.IpsecResponse405 { + if o == nil { + return nil + } + return o.IpsecResponse405 +} + +func (o *DeleteSteeringIpsecTunnelsIDResponse) GetIpsecResponse429() *shared.IpsecResponse429 { + if o == nil { + return nil + } + return o.IpsecResponse429 +} + +func (o *DeleteSteeringIpsecTunnelsIDResponse) GetIpsecResponse500() *shared.IpsecResponse500 { + if o == nil { + return nil + } + return o.IpsecResponse500 +} diff --git a/internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofiles.go b/internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofiles.go new file mode 100644 index 0000000..4b540a9 --- /dev/null +++ b/internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofiles.go @@ -0,0 +1,68 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type GetInfrastructurePublisherupgradeprofilesRequest struct { + // Return values only from specified fields + Fields *string `queryParam:"style=form,explode=true,name=fields"` +} + +func (o *GetInfrastructurePublisherupgradeprofilesRequest) GetFields() *string { + if o == nil { + return nil + } + return o.Fields +} + +type GetInfrastructurePublisherupgradeprofilesResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + PublisherUpgradeProfileGetResponse *shared.PublisherUpgradeProfileGetResponse + // Invalid request + FourHundred *shared.FourHundred +} + +func (o *GetInfrastructurePublisherupgradeprofilesResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetInfrastructurePublisherupgradeprofilesResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetInfrastructurePublisherupgradeprofilesResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetInfrastructurePublisherupgradeprofilesResponse) GetPublisherUpgradeProfileGetResponse() *shared.PublisherUpgradeProfileGetResponse { + if o == nil { + return nil + } + return o.PublisherUpgradeProfileGetResponse +} + +func (o *GetInfrastructurePublisherupgradeprofilesResponse) GetFourHundred() *shared.FourHundred { + if o == nil { + return nil + } + return o.FourHundred +} diff --git a/internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofilesupgradeprofileid.go b/internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofilesupgradeprofileid.go new file mode 100644 index 0000000..85c37d7 --- /dev/null +++ b/internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofilesupgradeprofileid.go @@ -0,0 +1,68 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest struct { + // publisher upgrade profile id + UpgradeProfileID int `pathParam:"style=simple,explode=false,name=upgrade_profile_id"` +} + +func (o *GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) GetUpgradeProfileID() int { + if o == nil { + return 0 + } + return o.UpgradeProfileID +} + +type GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + PublisherUpgradeProfileResponse *shared.PublisherUpgradeProfileResponse + // Invalid request + FourHundred *shared.FourHundred +} + +func (o *GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetPublisherUpgradeProfileResponse() *shared.PublisherUpgradeProfileResponse { + if o == nil { + return nil + } + return o.PublisherUpgradeProfileResponse +} + +func (o *GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetFourHundred() *shared.FourHundred { + if o == nil { + return nil + } + return o.FourHundred +} diff --git a/internal/sdk/pkg/models/operations/getpolicynpapolicygroups.go b/internal/sdk/pkg/models/operations/getpolicynpapolicygroups.go new file mode 100644 index 0000000..7085b89 --- /dev/null +++ b/internal/sdk/pkg/models/operations/getpolicynpapolicygroups.go @@ -0,0 +1,113 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type GetPolicyNpaPolicygroupsRequest struct { + // Return values only from specified fields + Fields *string `queryParam:"style=form,explode=true,name=fields"` + // Query string based on query operaters + Filter *string `queryParam:"style=form,explode=true,name=filter"` + // Max number of policy groups to retrieve. Default will be all policy groups. + Limit *int64 `queryParam:"style=form,explode=true,name=limit"` + // The offset of the first policy group in the list to retrieve. + Offset *int64 `queryParam:"style=form,explode=true,name=offset"` + // Sort retrieved policy group by specified field. Default is policy group id + Sortby *string `queryParam:"style=form,explode=true,name=sortby"` + // Sort in either asc or desc order. The default is asc order + Sortorder *string `queryParam:"style=form,explode=true,name=sortorder"` +} + +func (o *GetPolicyNpaPolicygroupsRequest) GetFields() *string { + if o == nil { + return nil + } + return o.Fields +} + +func (o *GetPolicyNpaPolicygroupsRequest) GetFilter() *string { + if o == nil { + return nil + } + return o.Filter +} + +func (o *GetPolicyNpaPolicygroupsRequest) GetLimit() *int64 { + if o == nil { + return nil + } + return o.Limit +} + +func (o *GetPolicyNpaPolicygroupsRequest) GetOffset() *int64 { + if o == nil { + return nil + } + return o.Offset +} + +func (o *GetPolicyNpaPolicygroupsRequest) GetSortby() *string { + if o == nil { + return nil + } + return o.Sortby +} + +func (o *GetPolicyNpaPolicygroupsRequest) GetSortorder() *string { + if o == nil { + return nil + } + return o.Sortorder +} + +type GetPolicyNpaPolicygroupsResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + NpaPolicygroupResponse *shared.NpaPolicygroupResponse + // Invalid request + NpaPolicygroupResponse400 *shared.NpaPolicygroupResponse400 +} + +func (o *GetPolicyNpaPolicygroupsResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetPolicyNpaPolicygroupsResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetPolicyNpaPolicygroupsResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetPolicyNpaPolicygroupsResponse) GetNpaPolicygroupResponse() *shared.NpaPolicygroupResponse { + if o == nil { + return nil + } + return o.NpaPolicygroupResponse +} + +func (o *GetPolicyNpaPolicygroupsResponse) GetNpaPolicygroupResponse400() *shared.NpaPolicygroupResponse400 { + if o == nil { + return nil + } + return o.NpaPolicygroupResponse400 +} diff --git a/internal/sdk/pkg/models/operations/getpolicynpapolicygroupsid.go b/internal/sdk/pkg/models/operations/getpolicynpapolicygroupsid.go new file mode 100644 index 0000000..99fe619 --- /dev/null +++ b/internal/sdk/pkg/models/operations/getpolicynpapolicygroupsid.go @@ -0,0 +1,80 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type GetPolicyNpaPolicygroupsIDRequest struct { + // npa policy group id + ID string `pathParam:"style=simple,explode=false,name=id"` +} + +func (o *GetPolicyNpaPolicygroupsIDRequest) GetID() string { + if o == nil { + return "" + } + return o.ID +} + +// GetPolicyNpaPolicygroupsIDResponseBody - successful operation +type GetPolicyNpaPolicygroupsIDResponseBody struct { + Data *shared.NpaPolicygroupResponseItem `json:"data,omitempty"` +} + +func (o *GetPolicyNpaPolicygroupsIDResponseBody) GetData() *shared.NpaPolicygroupResponseItem { + if o == nil { + return nil + } + return o.Data +} + +type GetPolicyNpaPolicygroupsIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + Object *GetPolicyNpaPolicygroupsIDResponseBody + // Invalid request + NpaPolicygroupResponse400 *shared.NpaPolicygroupResponse400 +} + +func (o *GetPolicyNpaPolicygroupsIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetPolicyNpaPolicygroupsIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetPolicyNpaPolicygroupsIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetPolicyNpaPolicygroupsIDResponse) GetObject() *GetPolicyNpaPolicygroupsIDResponseBody { + if o == nil { + return nil + } + return o.Object +} + +func (o *GetPolicyNpaPolicygroupsIDResponse) GetNpaPolicygroupResponse400() *shared.NpaPolicygroupResponse400 { + if o == nil { + return nil + } + return o.NpaPolicygroupResponse400 +} diff --git a/internal/sdk/pkg/models/operations/getsteeringappsprivate.go b/internal/sdk/pkg/models/operations/getsteeringappsprivate.go new file mode 100644 index 0000000..3af432c --- /dev/null +++ b/internal/sdk/pkg/models/operations/getsteeringappsprivate.go @@ -0,0 +1,68 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type GetSteeringAppsPrivateRequest struct { + // Return values only from specified fields + Fields *string `queryParam:"style=form,explode=true,name=fields"` +} + +func (o *GetSteeringAppsPrivateRequest) GetFields() *string { + if o == nil { + return nil + } + return o.Fields +} + +type GetSteeringAppsPrivateResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + PrivateAppsGetResponse *shared.PrivateAppsGetResponse + // Invalid request + PrivateAppsResponse400 *shared.PrivateAppsResponse400 +} + +func (o *GetSteeringAppsPrivateResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetSteeringAppsPrivateResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetSteeringAppsPrivateResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetSteeringAppsPrivateResponse) GetPrivateAppsGetResponse() *shared.PrivateAppsGetResponse { + if o == nil { + return nil + } + return o.PrivateAppsGetResponse +} + +func (o *GetSteeringAppsPrivateResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { + if o == nil { + return nil + } + return o.PrivateAppsResponse400 +} diff --git a/internal/sdk/pkg/models/operations/getsteeringappsprivateprivateappid.go b/internal/sdk/pkg/models/operations/getsteeringappsprivateprivateappid.go new file mode 100644 index 0000000..09e7439 --- /dev/null +++ b/internal/sdk/pkg/models/operations/getsteeringappsprivateprivateappid.go @@ -0,0 +1,68 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type GetSteeringAppsPrivatePrivateAppIDRequest struct { + // private apps id + PrivateAppID int `pathParam:"style=simple,explode=false,name=private_app_id"` +} + +func (o *GetSteeringAppsPrivatePrivateAppIDRequest) GetPrivateAppID() int { + if o == nil { + return 0 + } + return o.PrivateAppID +} + +type GetSteeringAppsPrivatePrivateAppIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + PrivateAppsResponse *shared.PrivateAppsResponse + // Invalid request + PrivateAppsResponse400 *shared.PrivateAppsResponse400 +} + +func (o *GetSteeringAppsPrivatePrivateAppIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetSteeringAppsPrivatePrivateAppIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetSteeringAppsPrivatePrivateAppIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetSteeringAppsPrivatePrivateAppIDResponse) GetPrivateAppsResponse() *shared.PrivateAppsResponse { + if o == nil { + return nil + } + return o.PrivateAppsResponse +} + +func (o *GetSteeringAppsPrivatePrivateAppIDResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { + if o == nil { + return nil + } + return o.PrivateAppsResponse400 +} diff --git a/internal/sdk/pkg/models/operations/getsteeringappsprivatetags.go b/internal/sdk/pkg/models/operations/getsteeringappsprivatetags.go new file mode 100644 index 0000000..9b65137 --- /dev/null +++ b/internal/sdk/pkg/models/operations/getsteeringappsprivatetags.go @@ -0,0 +1,56 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type GetSteeringAppsPrivateTagsResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + TagResponse *shared.TagResponse + // Invalid request + TagResponse400 *shared.TagResponse400 +} + +func (o *GetSteeringAppsPrivateTagsResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetSteeringAppsPrivateTagsResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetSteeringAppsPrivateTagsResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetSteeringAppsPrivateTagsResponse) GetTagResponse() *shared.TagResponse { + if o == nil { + return nil + } + return o.TagResponse +} + +func (o *GetSteeringAppsPrivateTagsResponse) GetTagResponse400() *shared.TagResponse400 { + if o == nil { + return nil + } + return o.TagResponse400 +} diff --git a/internal/sdk/pkg/models/operations/getsteeringappsprivatetagstagid.go b/internal/sdk/pkg/models/operations/getsteeringappsprivatetagstagid.go new file mode 100644 index 0000000..1d31b6c --- /dev/null +++ b/internal/sdk/pkg/models/operations/getsteeringappsprivatetagstagid.go @@ -0,0 +1,68 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type GetSteeringAppsPrivateTagsTagIDRequest struct { + // tag id + TagID int `pathParam:"style=simple,explode=false,name=tag_id"` +} + +func (o *GetSteeringAppsPrivateTagsTagIDRequest) GetTagID() int { + if o == nil { + return 0 + } + return o.TagID +} + +type GetSteeringAppsPrivateTagsTagIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + TagResponse *shared.TagResponse + // Invalid request + TagResponse400 *shared.TagResponse400 +} + +func (o *GetSteeringAppsPrivateTagsTagIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetSteeringAppsPrivateTagsTagIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetSteeringAppsPrivateTagsTagIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetSteeringAppsPrivateTagsTagIDResponse) GetTagResponse() *shared.TagResponse { + if o == nil { + return nil + } + return o.TagResponse +} + +func (o *GetSteeringAppsPrivateTagsTagIDResponse) GetTagResponse400() *shared.TagResponse400 { + if o == nil { + return nil + } + return o.TagResponse400 +} diff --git a/internal/sdk/pkg/models/operations/getsteeringgrepops.go b/internal/sdk/pkg/models/operations/getsteeringgrepops.go new file mode 100644 index 0000000..9c213bc --- /dev/null +++ b/internal/sdk/pkg/models/operations/getsteeringgrepops.go @@ -0,0 +1,188 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" + "net/http" +) + +type GetSteeringGrePopsRequest struct { + // POP name + Name *string `queryParam:"style=form,explode=true,name=name"` + // POP region, requires ISO-3166 region code and return POPs closest to value + Region *string `queryParam:"style=form,explode=true,name=region"` + // POP country, requires ISO-3166 country code and return POPs closest to value + Country *string `queryParam:"style=form,explode=true,name=country"` + // POP latitude, lat requires long in combination and return POPs closest to value + Lat *string `queryParam:"style=form,explode=true,name=lat"` + // POP longitude, long requires lat in combination and return POPs closest to value + Long *string `queryParam:"style=form,explode=true,name=long"` + // POP ipaddress, return POPs closest to value + IP *string `queryParam:"style=form,explode=true,name=ip"` + // Provide comma separated list of fields to be displayed + Fields *string `queryParam:"style=form,explode=true,name=fields"` + // Offset used to shift the output window + Offset *int64 `default:"0" queryParam:"style=form,explode=true,name=offset"` + // Max number of POPs to retrieve + Limit *int64 `default:"100" queryParam:"style=form,explode=true,name=limit"` +} + +func (g GetSteeringGrePopsRequest) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(g, "", false) +} + +func (g *GetSteeringGrePopsRequest) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { + return err + } + return nil +} + +func (o *GetSteeringGrePopsRequest) GetName() *string { + if o == nil { + return nil + } + return o.Name +} + +func (o *GetSteeringGrePopsRequest) GetRegion() *string { + if o == nil { + return nil + } + return o.Region +} + +func (o *GetSteeringGrePopsRequest) GetCountry() *string { + if o == nil { + return nil + } + return o.Country +} + +func (o *GetSteeringGrePopsRequest) GetLat() *string { + if o == nil { + return nil + } + return o.Lat +} + +func (o *GetSteeringGrePopsRequest) GetLong() *string { + if o == nil { + return nil + } + return o.Long +} + +func (o *GetSteeringGrePopsRequest) GetIP() *string { + if o == nil { + return nil + } + return o.IP +} + +func (o *GetSteeringGrePopsRequest) GetFields() *string { + if o == nil { + return nil + } + return o.Fields +} + +func (o *GetSteeringGrePopsRequest) GetOffset() *int64 { + if o == nil { + return nil + } + return o.Offset +} + +func (o *GetSteeringGrePopsRequest) GetLimit() *int64 { + if o == nil { + return nil + } + return o.Limit +} + +type GetSteeringGrePopsResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successful operation + GrePopResponse200 *shared.GrePopResponse200 + // Invalid request + GreResponse400 *shared.GreResponse400 + // Access forbidden + GreResponse403 *shared.GreResponse403 + // Method not allowed + GreResponse405 *shared.GreResponse405 + // Too many requests + GreResponse429 *shared.GreResponse429 + // Internal server error + GreResponse500 *shared.GreResponse500 +} + +func (o *GetSteeringGrePopsResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetSteeringGrePopsResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetSteeringGrePopsResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetSteeringGrePopsResponse) GetGrePopResponse200() *shared.GrePopResponse200 { + if o == nil { + return nil + } + return o.GrePopResponse200 +} + +func (o *GetSteeringGrePopsResponse) GetGreResponse400() *shared.GreResponse400 { + if o == nil { + return nil + } + return o.GreResponse400 +} + +func (o *GetSteeringGrePopsResponse) GetGreResponse403() *shared.GreResponse403 { + if o == nil { + return nil + } + return o.GreResponse403 +} + +func (o *GetSteeringGrePopsResponse) GetGreResponse405() *shared.GreResponse405 { + if o == nil { + return nil + } + return o.GreResponse405 +} + +func (o *GetSteeringGrePopsResponse) GetGreResponse429() *shared.GreResponse429 { + if o == nil { + return nil + } + return o.GreResponse429 +} + +func (o *GetSteeringGrePopsResponse) GetGreResponse500() *shared.GreResponse500 { + if o == nil { + return nil + } + return o.GreResponse500 +} diff --git a/internal/sdk/pkg/models/operations/getsteeringgrepopsid.go b/internal/sdk/pkg/models/operations/getsteeringgrepopsid.go new file mode 100644 index 0000000..6625372 --- /dev/null +++ b/internal/sdk/pkg/models/operations/getsteeringgrepopsid.go @@ -0,0 +1,122 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type GetSteeringGrePopsIDRequest struct { + // POP id + ID string `pathParam:"style=simple,explode=false,name=id"` + // Provide comma separated list of fields to be displayed + Fields *string `queryParam:"style=form,explode=true,name=fields"` +} + +func (o *GetSteeringGrePopsIDRequest) GetID() string { + if o == nil { + return "" + } + return o.ID +} + +func (o *GetSteeringGrePopsIDRequest) GetFields() *string { + if o == nil { + return nil + } + return o.Fields +} + +type GetSteeringGrePopsIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successful operation + GrePopResponse200 *shared.GrePopResponse200 + // Invalid request + GreResponse400 *shared.GreResponse400 + // Access forbidden + GreResponse403 *shared.GreResponse403 + // Not found + GreResponse404 *shared.GreResponse404 + // Method not allowed + GreResponse405 *shared.GreResponse405 + // Too many requests + GreResponse429 *shared.GreResponse429 + // Internal server error + GreResponse500 *shared.GreResponse500 +} + +func (o *GetSteeringGrePopsIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetSteeringGrePopsIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetSteeringGrePopsIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetSteeringGrePopsIDResponse) GetGrePopResponse200() *shared.GrePopResponse200 { + if o == nil { + return nil + } + return o.GrePopResponse200 +} + +func (o *GetSteeringGrePopsIDResponse) GetGreResponse400() *shared.GreResponse400 { + if o == nil { + return nil + } + return o.GreResponse400 +} + +func (o *GetSteeringGrePopsIDResponse) GetGreResponse403() *shared.GreResponse403 { + if o == nil { + return nil + } + return o.GreResponse403 +} + +func (o *GetSteeringGrePopsIDResponse) GetGreResponse404() *shared.GreResponse404 { + if o == nil { + return nil + } + return o.GreResponse404 +} + +func (o *GetSteeringGrePopsIDResponse) GetGreResponse405() *shared.GreResponse405 { + if o == nil { + return nil + } + return o.GreResponse405 +} + +func (o *GetSteeringGrePopsIDResponse) GetGreResponse429() *shared.GreResponse429 { + if o == nil { + return nil + } + return o.GreResponse429 +} + +func (o *GetSteeringGrePopsIDResponse) GetGreResponse500() *shared.GreResponse500 { + if o == nil { + return nil + } + return o.GreResponse500 +} diff --git a/internal/sdk/pkg/models/operations/getsteeringgretunnels.go b/internal/sdk/pkg/models/operations/getsteeringgretunnels.go new file mode 100644 index 0000000..300cb9b --- /dev/null +++ b/internal/sdk/pkg/models/operations/getsteeringgretunnels.go @@ -0,0 +1,197 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" + "net/http" +) + +type GetSteeringGreTunnelsRequest struct { + // GRE tunnel site + Site *string `queryParam:"style=form,explode=true,name=site"` + // GRE tunnel source ip identity + Srcipidentity *string `queryParam:"style=form,explode=true,name=srcipidentity"` + // GRE tunnel POP name + Pop *string `queryParam:"style=form,explode=true,name=pop"` + // GRE tunnel status + Status *string `queryParam:"style=form,explode=true,name=status"` + // GRE tunnel sourcetype + Sourcetype *string `queryParam:"style=form,explode=true,name=sourcetype"` + // GRE tunnel sortby column + Sortby *string `queryParam:"style=form,explode=true,name=sortby"` + // GRE tunnel sortorder asc or desc. Default is asc + Sortorder *string `queryParam:"style=form,explode=true,name=sortorder"` + // Provide comma separated list of fields to be displayed + Fields *string `queryParam:"style=form,explode=true,name=fields"` + // Offset used to shift the window + Offset *int64 `default:"0" queryParam:"style=form,explode=true,name=offset"` + // Max number of records to retrieve + Limit *int64 `default:"100" queryParam:"style=form,explode=true,name=limit"` +} + +func (g GetSteeringGreTunnelsRequest) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(g, "", false) +} + +func (g *GetSteeringGreTunnelsRequest) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { + return err + } + return nil +} + +func (o *GetSteeringGreTunnelsRequest) GetSite() *string { + if o == nil { + return nil + } + return o.Site +} + +func (o *GetSteeringGreTunnelsRequest) GetSrcipidentity() *string { + if o == nil { + return nil + } + return o.Srcipidentity +} + +func (o *GetSteeringGreTunnelsRequest) GetPop() *string { + if o == nil { + return nil + } + return o.Pop +} + +func (o *GetSteeringGreTunnelsRequest) GetStatus() *string { + if o == nil { + return nil + } + return o.Status +} + +func (o *GetSteeringGreTunnelsRequest) GetSourcetype() *string { + if o == nil { + return nil + } + return o.Sourcetype +} + +func (o *GetSteeringGreTunnelsRequest) GetSortby() *string { + if o == nil { + return nil + } + return o.Sortby +} + +func (o *GetSteeringGreTunnelsRequest) GetSortorder() *string { + if o == nil { + return nil + } + return o.Sortorder +} + +func (o *GetSteeringGreTunnelsRequest) GetFields() *string { + if o == nil { + return nil + } + return o.Fields +} + +func (o *GetSteeringGreTunnelsRequest) GetOffset() *int64 { + if o == nil { + return nil + } + return o.Offset +} + +func (o *GetSteeringGreTunnelsRequest) GetLimit() *int64 { + if o == nil { + return nil + } + return o.Limit +} + +type GetSteeringGreTunnelsResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successful operation + GreTunnelResponse200 *shared.GreTunnelResponse200 + // Invalid request + GreResponse400 *shared.GreResponse400 + // Access forbidden + GreResponse403 *shared.GreResponse403 + // Method not allowed + GreResponse405 *shared.GreResponse405 + // Too many requests + GreResponse429 *shared.GreResponse429 + // Internal server error + GreResponse500 *shared.GreResponse500 +} + +func (o *GetSteeringGreTunnelsResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetSteeringGreTunnelsResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetSteeringGreTunnelsResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetSteeringGreTunnelsResponse) GetGreTunnelResponse200() *shared.GreTunnelResponse200 { + if o == nil { + return nil + } + return o.GreTunnelResponse200 +} + +func (o *GetSteeringGreTunnelsResponse) GetGreResponse400() *shared.GreResponse400 { + if o == nil { + return nil + } + return o.GreResponse400 +} + +func (o *GetSteeringGreTunnelsResponse) GetGreResponse403() *shared.GreResponse403 { + if o == nil { + return nil + } + return o.GreResponse403 +} + +func (o *GetSteeringGreTunnelsResponse) GetGreResponse405() *shared.GreResponse405 { + if o == nil { + return nil + } + return o.GreResponse405 +} + +func (o *GetSteeringGreTunnelsResponse) GetGreResponse429() *shared.GreResponse429 { + if o == nil { + return nil + } + return o.GreResponse429 +} + +func (o *GetSteeringGreTunnelsResponse) GetGreResponse500() *shared.GreResponse500 { + if o == nil { + return nil + } + return o.GreResponse500 +} diff --git a/internal/sdk/pkg/models/operations/getsteeringgretunnelsid.go b/internal/sdk/pkg/models/operations/getsteeringgretunnelsid.go new file mode 100644 index 0000000..28ebef9 --- /dev/null +++ b/internal/sdk/pkg/models/operations/getsteeringgretunnelsid.go @@ -0,0 +1,122 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type GetSteeringGreTunnelsIDRequest struct { + // GRE tunnel id + ID int64 `pathParam:"style=simple,explode=false,name=id"` + // Provide comma separated list of fields to be displayed + Fields *string `queryParam:"style=form,explode=true,name=fields"` +} + +func (o *GetSteeringGreTunnelsIDRequest) GetID() int64 { + if o == nil { + return 0 + } + return o.ID +} + +func (o *GetSteeringGreTunnelsIDRequest) GetFields() *string { + if o == nil { + return nil + } + return o.Fields +} + +type GetSteeringGreTunnelsIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successful operation + GreTunnelResponse200 *shared.GreTunnelResponse200 + // Invalid request + GreResponse400 *shared.GreResponse400 + // Access forbidden + GreResponse403 *shared.GreResponse403 + // Not found + GreResponse404 *shared.GreResponse404 + // Method not allowed + GreResponse405 *shared.GreResponse405 + // Too many requests + GreResponse429 *shared.GreResponse429 + // Internal server error + GreResponse500 *shared.GreResponse500 +} + +func (o *GetSteeringGreTunnelsIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetSteeringGreTunnelsIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetSteeringGreTunnelsIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetSteeringGreTunnelsIDResponse) GetGreTunnelResponse200() *shared.GreTunnelResponse200 { + if o == nil { + return nil + } + return o.GreTunnelResponse200 +} + +func (o *GetSteeringGreTunnelsIDResponse) GetGreResponse400() *shared.GreResponse400 { + if o == nil { + return nil + } + return o.GreResponse400 +} + +func (o *GetSteeringGreTunnelsIDResponse) GetGreResponse403() *shared.GreResponse403 { + if o == nil { + return nil + } + return o.GreResponse403 +} + +func (o *GetSteeringGreTunnelsIDResponse) GetGreResponse404() *shared.GreResponse404 { + if o == nil { + return nil + } + return o.GreResponse404 +} + +func (o *GetSteeringGreTunnelsIDResponse) GetGreResponse405() *shared.GreResponse405 { + if o == nil { + return nil + } + return o.GreResponse405 +} + +func (o *GetSteeringGreTunnelsIDResponse) GetGreResponse429() *shared.GreResponse429 { + if o == nil { + return nil + } + return o.GreResponse429 +} + +func (o *GetSteeringGreTunnelsIDResponse) GetGreResponse500() *shared.GreResponse500 { + if o == nil { + return nil + } + return o.GreResponse500 +} diff --git a/internal/sdk/pkg/models/operations/getsteeringipsecpops.go b/internal/sdk/pkg/models/operations/getsteeringipsecpops.go new file mode 100644 index 0000000..08104f8 --- /dev/null +++ b/internal/sdk/pkg/models/operations/getsteeringipsecpops.go @@ -0,0 +1,197 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" + "net/http" +) + +type GetSteeringIpsecPopsRequest struct { + // POP name + Name *string `queryParam:"style=form,explode=true,name=name"` + // POP region, requires ISO-3166 region code and return POPs closest to value + Region *string `queryParam:"style=form,explode=true,name=region"` + // POP country, requires ISO-3166 country code and return POPs closest to value + Country *string `queryParam:"style=form,explode=true,name=country"` + // POP latitude, lat requires long in combination and return POPs closest to value + Lat *string `queryParam:"style=form,explode=true,name=lat"` + // POP longitude, long requires lat in combination and return POPs closest to value + Long *string `queryParam:"style=form,explode=true,name=long"` + // POP ipaddress, return POPs closest to value + IP *string `queryParam:"style=form,explode=true,name=ip"` + // POP capabilities, return POPs capabilities + Capabilities *string `queryParam:"style=form,explode=true,name=capabilities"` + // Provide comma separated list of fields to be displayed + Fields *string `queryParam:"style=form,explode=true,name=fields"` + // Offset used to shift the output window + Offset *int64 `default:"0" queryParam:"style=form,explode=true,name=offset"` + // Max number of POPs to retrieve + Limit *int64 `default:"100" queryParam:"style=form,explode=true,name=limit"` +} + +func (g GetSteeringIpsecPopsRequest) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(g, "", false) +} + +func (g *GetSteeringIpsecPopsRequest) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { + return err + } + return nil +} + +func (o *GetSteeringIpsecPopsRequest) GetName() *string { + if o == nil { + return nil + } + return o.Name +} + +func (o *GetSteeringIpsecPopsRequest) GetRegion() *string { + if o == nil { + return nil + } + return o.Region +} + +func (o *GetSteeringIpsecPopsRequest) GetCountry() *string { + if o == nil { + return nil + } + return o.Country +} + +func (o *GetSteeringIpsecPopsRequest) GetLat() *string { + if o == nil { + return nil + } + return o.Lat +} + +func (o *GetSteeringIpsecPopsRequest) GetLong() *string { + if o == nil { + return nil + } + return o.Long +} + +func (o *GetSteeringIpsecPopsRequest) GetIP() *string { + if o == nil { + return nil + } + return o.IP +} + +func (o *GetSteeringIpsecPopsRequest) GetCapabilities() *string { + if o == nil { + return nil + } + return o.Capabilities +} + +func (o *GetSteeringIpsecPopsRequest) GetFields() *string { + if o == nil { + return nil + } + return o.Fields +} + +func (o *GetSteeringIpsecPopsRequest) GetOffset() *int64 { + if o == nil { + return nil + } + return o.Offset +} + +func (o *GetSteeringIpsecPopsRequest) GetLimit() *int64 { + if o == nil { + return nil + } + return o.Limit +} + +type GetSteeringIpsecPopsResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successful operation + IpsecPopResponse200 *shared.IpsecPopResponse200 + // Invalid request + IpsecResponse400 *shared.IpsecResponse400 + // Access forbidden + IpsecResponse403 *shared.IpsecResponse403 + // Method not allowed + IpsecResponse405 *shared.IpsecResponse405 + // Too many requests + IpsecResponse429 *shared.IpsecResponse429 + // Internal server error + IpsecResponse500 *shared.IpsecResponse500 +} + +func (o *GetSteeringIpsecPopsResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetSteeringIpsecPopsResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetSteeringIpsecPopsResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetSteeringIpsecPopsResponse) GetIpsecPopResponse200() *shared.IpsecPopResponse200 { + if o == nil { + return nil + } + return o.IpsecPopResponse200 +} + +func (o *GetSteeringIpsecPopsResponse) GetIpsecResponse400() *shared.IpsecResponse400 { + if o == nil { + return nil + } + return o.IpsecResponse400 +} + +func (o *GetSteeringIpsecPopsResponse) GetIpsecResponse403() *shared.IpsecResponse403 { + if o == nil { + return nil + } + return o.IpsecResponse403 +} + +func (o *GetSteeringIpsecPopsResponse) GetIpsecResponse405() *shared.IpsecResponse405 { + if o == nil { + return nil + } + return o.IpsecResponse405 +} + +func (o *GetSteeringIpsecPopsResponse) GetIpsecResponse429() *shared.IpsecResponse429 { + if o == nil { + return nil + } + return o.IpsecResponse429 +} + +func (o *GetSteeringIpsecPopsResponse) GetIpsecResponse500() *shared.IpsecResponse500 { + if o == nil { + return nil + } + return o.IpsecResponse500 +} diff --git a/internal/sdk/pkg/models/operations/getsteeringipsecpopsid.go b/internal/sdk/pkg/models/operations/getsteeringipsecpopsid.go new file mode 100644 index 0000000..aa8ec69 --- /dev/null +++ b/internal/sdk/pkg/models/operations/getsteeringipsecpopsid.go @@ -0,0 +1,122 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type GetSteeringIpsecPopsIDRequest struct { + // POP id + ID string `pathParam:"style=simple,explode=false,name=id"` + // Provide comma separated list of fields to be displayed + Fields *string `queryParam:"style=form,explode=true,name=fields"` +} + +func (o *GetSteeringIpsecPopsIDRequest) GetID() string { + if o == nil { + return "" + } + return o.ID +} + +func (o *GetSteeringIpsecPopsIDRequest) GetFields() *string { + if o == nil { + return nil + } + return o.Fields +} + +type GetSteeringIpsecPopsIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successful operation + IpsecPopResponse200 *shared.IpsecPopResponse200 + // Invalid request + IpsecResponse400 *shared.IpsecResponse400 + // Access forbidden + IpsecResponse403 *shared.IpsecResponse403 + // Not found + IpsecResponse404 *shared.IpsecResponse404 + // Method not allowed + IpsecResponse405 *shared.IpsecResponse405 + // Too many requests + IpsecResponse429 *shared.IpsecResponse429 + // Internal server error + IpsecResponse500 *shared.IpsecResponse500 +} + +func (o *GetSteeringIpsecPopsIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetSteeringIpsecPopsIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetSteeringIpsecPopsIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetSteeringIpsecPopsIDResponse) GetIpsecPopResponse200() *shared.IpsecPopResponse200 { + if o == nil { + return nil + } + return o.IpsecPopResponse200 +} + +func (o *GetSteeringIpsecPopsIDResponse) GetIpsecResponse400() *shared.IpsecResponse400 { + if o == nil { + return nil + } + return o.IpsecResponse400 +} + +func (o *GetSteeringIpsecPopsIDResponse) GetIpsecResponse403() *shared.IpsecResponse403 { + if o == nil { + return nil + } + return o.IpsecResponse403 +} + +func (o *GetSteeringIpsecPopsIDResponse) GetIpsecResponse404() *shared.IpsecResponse404 { + if o == nil { + return nil + } + return o.IpsecResponse404 +} + +func (o *GetSteeringIpsecPopsIDResponse) GetIpsecResponse405() *shared.IpsecResponse405 { + if o == nil { + return nil + } + return o.IpsecResponse405 +} + +func (o *GetSteeringIpsecPopsIDResponse) GetIpsecResponse429() *shared.IpsecResponse429 { + if o == nil { + return nil + } + return o.IpsecResponse429 +} + +func (o *GetSteeringIpsecPopsIDResponse) GetIpsecResponse500() *shared.IpsecResponse500 { + if o == nil { + return nil + } + return o.IpsecResponse500 +} diff --git a/internal/sdk/pkg/models/operations/getsteeringipsectunnels.go b/internal/sdk/pkg/models/operations/getsteeringipsectunnels.go new file mode 100644 index 0000000..e889e32 --- /dev/null +++ b/internal/sdk/pkg/models/operations/getsteeringipsectunnels.go @@ -0,0 +1,206 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" + "net/http" +) + +type GetSteeringIpsecTunnelsRequest struct { + // IPSec tunnel site + Site *string `queryParam:"style=form,explode=true,name=site"` + // IPSec tunnel source ip identity + Srcipidentity *string `queryParam:"style=form,explode=true,name=srcipidentity"` + // IPSec tunnel source identity + Srcidentity *string `queryParam:"style=form,explode=true,name=srcidentity"` + // IPSec tunnel POP name + Pop *string `queryParam:"style=form,explode=true,name=pop"` + // IPSec tunnel status + Status *string `queryParam:"style=form,explode=true,name=status"` + // IPSec tunnel sourcetype + Sourcetype *string `queryParam:"style=form,explode=true,name=sourcetype"` + // IPSec tunnel sortby column + Sortby *string `queryParam:"style=form,explode=true,name=sortby"` + // IPSec tunnel sortorder asc or desc. Default is asc + Sortorder *string `queryParam:"style=form,explode=true,name=sortorder"` + // Provide comma separated list of fields to be displayed + Fields *string `queryParam:"style=form,explode=true,name=fields"` + // Offset used to shift the window + Offset *int64 `default:"0" queryParam:"style=form,explode=true,name=offset"` + // Max number of records to retrieve + Limit *int64 `default:"100" queryParam:"style=form,explode=true,name=limit"` +} + +func (g GetSteeringIpsecTunnelsRequest) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(g, "", false) +} + +func (g *GetSteeringIpsecTunnelsRequest) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { + return err + } + return nil +} + +func (o *GetSteeringIpsecTunnelsRequest) GetSite() *string { + if o == nil { + return nil + } + return o.Site +} + +func (o *GetSteeringIpsecTunnelsRequest) GetSrcipidentity() *string { + if o == nil { + return nil + } + return o.Srcipidentity +} + +func (o *GetSteeringIpsecTunnelsRequest) GetSrcidentity() *string { + if o == nil { + return nil + } + return o.Srcidentity +} + +func (o *GetSteeringIpsecTunnelsRequest) GetPop() *string { + if o == nil { + return nil + } + return o.Pop +} + +func (o *GetSteeringIpsecTunnelsRequest) GetStatus() *string { + if o == nil { + return nil + } + return o.Status +} + +func (o *GetSteeringIpsecTunnelsRequest) GetSourcetype() *string { + if o == nil { + return nil + } + return o.Sourcetype +} + +func (o *GetSteeringIpsecTunnelsRequest) GetSortby() *string { + if o == nil { + return nil + } + return o.Sortby +} + +func (o *GetSteeringIpsecTunnelsRequest) GetSortorder() *string { + if o == nil { + return nil + } + return o.Sortorder +} + +func (o *GetSteeringIpsecTunnelsRequest) GetFields() *string { + if o == nil { + return nil + } + return o.Fields +} + +func (o *GetSteeringIpsecTunnelsRequest) GetOffset() *int64 { + if o == nil { + return nil + } + return o.Offset +} + +func (o *GetSteeringIpsecTunnelsRequest) GetLimit() *int64 { + if o == nil { + return nil + } + return o.Limit +} + +type GetSteeringIpsecTunnelsResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successful operation + IpsecTunnelResponse200 *shared.IpsecTunnelResponse200 + // Invalid request + IpsecResponse400 *shared.IpsecResponse400 + // Access forbidden + IpsecResponse403 *shared.IpsecResponse403 + // Method not allowed + IpsecResponse405 *shared.IpsecResponse405 + // Too many requests + IpsecResponse429 *shared.IpsecResponse429 + // Internal server error + IpsecResponse500 *shared.IpsecResponse500 +} + +func (o *GetSteeringIpsecTunnelsResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetSteeringIpsecTunnelsResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetSteeringIpsecTunnelsResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetSteeringIpsecTunnelsResponse) GetIpsecTunnelResponse200() *shared.IpsecTunnelResponse200 { + if o == nil { + return nil + } + return o.IpsecTunnelResponse200 +} + +func (o *GetSteeringIpsecTunnelsResponse) GetIpsecResponse400() *shared.IpsecResponse400 { + if o == nil { + return nil + } + return o.IpsecResponse400 +} + +func (o *GetSteeringIpsecTunnelsResponse) GetIpsecResponse403() *shared.IpsecResponse403 { + if o == nil { + return nil + } + return o.IpsecResponse403 +} + +func (o *GetSteeringIpsecTunnelsResponse) GetIpsecResponse405() *shared.IpsecResponse405 { + if o == nil { + return nil + } + return o.IpsecResponse405 +} + +func (o *GetSteeringIpsecTunnelsResponse) GetIpsecResponse429() *shared.IpsecResponse429 { + if o == nil { + return nil + } + return o.IpsecResponse429 +} + +func (o *GetSteeringIpsecTunnelsResponse) GetIpsecResponse500() *shared.IpsecResponse500 { + if o == nil { + return nil + } + return o.IpsecResponse500 +} diff --git a/internal/sdk/pkg/models/operations/getsteeringipsectunnelsid.go b/internal/sdk/pkg/models/operations/getsteeringipsectunnelsid.go new file mode 100644 index 0000000..36a88c2 --- /dev/null +++ b/internal/sdk/pkg/models/operations/getsteeringipsectunnelsid.go @@ -0,0 +1,122 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type GetSteeringIpsecTunnelsIDRequest struct { + // IPSec tunnel id + ID int64 `pathParam:"style=simple,explode=false,name=id"` + // Provide comma separated list of fields to be displayed + Fields *string `queryParam:"style=form,explode=true,name=fields"` +} + +func (o *GetSteeringIpsecTunnelsIDRequest) GetID() int64 { + if o == nil { + return 0 + } + return o.ID +} + +func (o *GetSteeringIpsecTunnelsIDRequest) GetFields() *string { + if o == nil { + return nil + } + return o.Fields +} + +type GetSteeringIpsecTunnelsIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successful operation + IpsecTunnelResponse200 *shared.IpsecTunnelResponse200 + // Invalid request + IpsecResponse400 *shared.IpsecResponse400 + // Access forbidden + IpsecResponse403 *shared.IpsecResponse403 + // Not found + IpsecResponse404 *shared.IpsecResponse404 + // Method not allowed + IpsecResponse405 *shared.IpsecResponse405 + // Too many requests + IpsecResponse429 *shared.IpsecResponse429 + // Internal server error + IpsecResponse500 *shared.IpsecResponse500 +} + +func (o *GetSteeringIpsecTunnelsIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetSteeringIpsecTunnelsIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetSteeringIpsecTunnelsIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetSteeringIpsecTunnelsIDResponse) GetIpsecTunnelResponse200() *shared.IpsecTunnelResponse200 { + if o == nil { + return nil + } + return o.IpsecTunnelResponse200 +} + +func (o *GetSteeringIpsecTunnelsIDResponse) GetIpsecResponse400() *shared.IpsecResponse400 { + if o == nil { + return nil + } + return o.IpsecResponse400 +} + +func (o *GetSteeringIpsecTunnelsIDResponse) GetIpsecResponse403() *shared.IpsecResponse403 { + if o == nil { + return nil + } + return o.IpsecResponse403 +} + +func (o *GetSteeringIpsecTunnelsIDResponse) GetIpsecResponse404() *shared.IpsecResponse404 { + if o == nil { + return nil + } + return o.IpsecResponse404 +} + +func (o *GetSteeringIpsecTunnelsIDResponse) GetIpsecResponse405() *shared.IpsecResponse405 { + if o == nil { + return nil + } + return o.IpsecResponse405 +} + +func (o *GetSteeringIpsecTunnelsIDResponse) GetIpsecResponse429() *shared.IpsecResponse429 { + if o == nil { + return nil + } + return o.IpsecResponse429 +} + +func (o *GetSteeringIpsecTunnelsIDResponse) GetIpsecResponse500() *shared.IpsecResponse500 { + if o == nil { + return nil + } + return o.IpsecResponse500 +} diff --git a/internal/sdk/pkg/models/operations/patchpolicynpapolicygroupsid.go b/internal/sdk/pkg/models/operations/patchpolicynpapolicygroupsid.go new file mode 100644 index 0000000..1cf5853 --- /dev/null +++ b/internal/sdk/pkg/models/operations/patchpolicynpapolicygroupsid.go @@ -0,0 +1,127 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +// PatchPolicyNpaPolicygroupsIDQueryParamSilent - flag to skip output except status code +type PatchPolicyNpaPolicygroupsIDQueryParamSilent string + +const ( + PatchPolicyNpaPolicygroupsIDQueryParamSilentOne PatchPolicyNpaPolicygroupsIDQueryParamSilent = "1" + PatchPolicyNpaPolicygroupsIDQueryParamSilentZero PatchPolicyNpaPolicygroupsIDQueryParamSilent = "0" +) + +func (e PatchPolicyNpaPolicygroupsIDQueryParamSilent) ToPointer() *PatchPolicyNpaPolicygroupsIDQueryParamSilent { + return &e +} + +func (e *PatchPolicyNpaPolicygroupsIDQueryParamSilent) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "1": + fallthrough + case "0": + *e = PatchPolicyNpaPolicygroupsIDQueryParamSilent(v) + return nil + default: + return fmt.Errorf("invalid value for PatchPolicyNpaPolicygroupsIDQueryParamSilent: %v", v) + } +} + +type PatchPolicyNpaPolicygroupsIDRequest struct { + // policy group rule id + ID string `pathParam:"style=simple,explode=false,name=id"` + // flag to skip output except status code + Silent *PatchPolicyNpaPolicygroupsIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + NpaPolicygroupRequest shared.NpaPolicygroupRequest `request:"mediaType=application/json"` +} + +func (o *PatchPolicyNpaPolicygroupsIDRequest) GetID() string { + if o == nil { + return "" + } + return o.ID +} + +func (o *PatchPolicyNpaPolicygroupsIDRequest) GetSilent() *PatchPolicyNpaPolicygroupsIDQueryParamSilent { + if o == nil { + return nil + } + return o.Silent +} + +func (o *PatchPolicyNpaPolicygroupsIDRequest) GetNpaPolicygroupRequest() shared.NpaPolicygroupRequest { + if o == nil { + return shared.NpaPolicygroupRequest{} + } + return o.NpaPolicygroupRequest +} + +// PatchPolicyNpaPolicygroupsIDResponseBody - successful operation +type PatchPolicyNpaPolicygroupsIDResponseBody struct { + Data *shared.NpaPolicygroupResponseItem `json:"data,omitempty"` +} + +func (o *PatchPolicyNpaPolicygroupsIDResponseBody) GetData() *shared.NpaPolicygroupResponseItem { + if o == nil { + return nil + } + return o.Data +} + +type PatchPolicyNpaPolicygroupsIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + Object *PatchPolicyNpaPolicygroupsIDResponseBody + // Invalid request + NpaPolicygroupResponse400 *shared.NpaPolicygroupResponse400 +} + +func (o *PatchPolicyNpaPolicygroupsIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PatchPolicyNpaPolicygroupsIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PatchPolicyNpaPolicygroupsIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PatchPolicyNpaPolicygroupsIDResponse) GetObject() *PatchPolicyNpaPolicygroupsIDResponseBody { + if o == nil { + return nil + } + return o.Object +} + +func (o *PatchPolicyNpaPolicygroupsIDResponse) GetNpaPolicygroupResponse400() *shared.NpaPolicygroupResponse400 { + if o == nil { + return nil + } + return o.NpaPolicygroupResponse400 +} diff --git a/internal/sdk/pkg/models/operations/patchsteeringappsprivateprivateappid.go b/internal/sdk/pkg/models/operations/patchsteeringappsprivateprivateappid.go new file mode 100644 index 0000000..af7ab15 --- /dev/null +++ b/internal/sdk/pkg/models/operations/patchsteeringappsprivateprivateappid.go @@ -0,0 +1,115 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +// PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent - flag to skip output except status code +type PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent string + +const ( + PatchSteeringAppsPrivatePrivateAppIDQueryParamSilentOne PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent = "1" + PatchSteeringAppsPrivatePrivateAppIDQueryParamSilentZero PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent = "0" +) + +func (e PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent) ToPointer() *PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent { + return &e +} + +func (e *PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "1": + fallthrough + case "0": + *e = PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent(v) + return nil + default: + return fmt.Errorf("invalid value for PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent: %v", v) + } +} + +type PatchSteeringAppsPrivatePrivateAppIDRequest struct { + // private apps id + PrivateAppID int `pathParam:"style=simple,explode=false,name=private_app_id"` + // flag to skip output except status code + Silent *PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + PrivateAppsPutRequest shared.PrivateAppsPutRequest `request:"mediaType=application/json"` +} + +func (o *PatchSteeringAppsPrivatePrivateAppIDRequest) GetPrivateAppID() int { + if o == nil { + return 0 + } + return o.PrivateAppID +} + +func (o *PatchSteeringAppsPrivatePrivateAppIDRequest) GetSilent() *PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent { + if o == nil { + return nil + } + return o.Silent +} + +func (o *PatchSteeringAppsPrivatePrivateAppIDRequest) GetPrivateAppsPutRequest() shared.PrivateAppsPutRequest { + if o == nil { + return shared.PrivateAppsPutRequest{} + } + return o.PrivateAppsPutRequest +} + +type PatchSteeringAppsPrivatePrivateAppIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + PrivateAppsResponse *shared.PrivateAppsResponse + // Invalid request + PrivateAppsResponse400 *shared.PrivateAppsResponse400 +} + +func (o *PatchSteeringAppsPrivatePrivateAppIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PatchSteeringAppsPrivatePrivateAppIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PatchSteeringAppsPrivatePrivateAppIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PatchSteeringAppsPrivatePrivateAppIDResponse) GetPrivateAppsResponse() *shared.PrivateAppsResponse { + if o == nil { + return nil + } + return o.PrivateAppsResponse +} + +func (o *PatchSteeringAppsPrivatePrivateAppIDResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { + if o == nil { + return nil + } + return o.PrivateAppsResponse400 +} diff --git a/internal/sdk/pkg/models/operations/patchsteeringappsprivatetags.go b/internal/sdk/pkg/models/operations/patchsteeringappsprivatetags.go new file mode 100644 index 0000000..b76495c --- /dev/null +++ b/internal/sdk/pkg/models/operations/patchsteeringappsprivatetags.go @@ -0,0 +1,56 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type PatchSteeringAppsPrivateTagsResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + TagResponse *shared.TagResponse + // Invalid request + TagResponse400 *shared.TagResponse400 +} + +func (o *PatchSteeringAppsPrivateTagsResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PatchSteeringAppsPrivateTagsResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PatchSteeringAppsPrivateTagsResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PatchSteeringAppsPrivateTagsResponse) GetTagResponse() *shared.TagResponse { + if o == nil { + return nil + } + return o.TagResponse +} + +func (o *PatchSteeringAppsPrivateTagsResponse) GetTagResponse400() *shared.TagResponse400 { + if o == nil { + return nil + } + return o.TagResponse400 +} diff --git a/internal/sdk/pkg/models/operations/patchsteeringgretunnelsid.go b/internal/sdk/pkg/models/operations/patchsteeringgretunnelsid.go new file mode 100644 index 0000000..82595cc --- /dev/null +++ b/internal/sdk/pkg/models/operations/patchsteeringgretunnelsid.go @@ -0,0 +1,122 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type PatchSteeringGreTunnelsIDRequest struct { + // GRE tunnel id + ID int64 `pathParam:"style=simple,explode=false,name=id"` + // GRE tunnel object + GreTunnelRequestPatch shared.GreTunnelRequestPatch `request:"mediaType=application/json"` +} + +func (o *PatchSteeringGreTunnelsIDRequest) GetID() int64 { + if o == nil { + return 0 + } + return o.ID +} + +func (o *PatchSteeringGreTunnelsIDRequest) GetGreTunnelRequestPatch() shared.GreTunnelRequestPatch { + if o == nil { + return shared.GreTunnelRequestPatch{} + } + return o.GreTunnelRequestPatch +} + +type PatchSteeringGreTunnelsIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successful operation + GrePatchResponse200 *shared.GrePatchResponse200 + // Invalid request + GreResponse400 *shared.GreResponse400 + // Access forbidden + GreResponse403 *shared.GreResponse403 + // Not found + GreResponse404 *shared.GreResponse404 + // Method not allowed + GreResponse405 *shared.GreResponse405 + // Too many requests + GreResponse429 *shared.GreResponse429 + // Internal server error + GreResponse500 *shared.GreResponse500 +} + +func (o *PatchSteeringGreTunnelsIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PatchSteeringGreTunnelsIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PatchSteeringGreTunnelsIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PatchSteeringGreTunnelsIDResponse) GetGrePatchResponse200() *shared.GrePatchResponse200 { + if o == nil { + return nil + } + return o.GrePatchResponse200 +} + +func (o *PatchSteeringGreTunnelsIDResponse) GetGreResponse400() *shared.GreResponse400 { + if o == nil { + return nil + } + return o.GreResponse400 +} + +func (o *PatchSteeringGreTunnelsIDResponse) GetGreResponse403() *shared.GreResponse403 { + if o == nil { + return nil + } + return o.GreResponse403 +} + +func (o *PatchSteeringGreTunnelsIDResponse) GetGreResponse404() *shared.GreResponse404 { + if o == nil { + return nil + } + return o.GreResponse404 +} + +func (o *PatchSteeringGreTunnelsIDResponse) GetGreResponse405() *shared.GreResponse405 { + if o == nil { + return nil + } + return o.GreResponse405 +} + +func (o *PatchSteeringGreTunnelsIDResponse) GetGreResponse429() *shared.GreResponse429 { + if o == nil { + return nil + } + return o.GreResponse429 +} + +func (o *PatchSteeringGreTunnelsIDResponse) GetGreResponse500() *shared.GreResponse500 { + if o == nil { + return nil + } + return o.GreResponse500 +} diff --git a/internal/sdk/pkg/models/operations/patchsteeringipsectunnelsid.go b/internal/sdk/pkg/models/operations/patchsteeringipsectunnelsid.go new file mode 100644 index 0000000..706e51b --- /dev/null +++ b/internal/sdk/pkg/models/operations/patchsteeringipsectunnelsid.go @@ -0,0 +1,122 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type PatchSteeringIpsecTunnelsIDRequest struct { + // IPSec tunnel id + ID int64 `pathParam:"style=simple,explode=false,name=id"` + // IPSec tunnel object + IpsecTunnelRequestPatch shared.IpsecTunnelRequestPatch `request:"mediaType=application/json"` +} + +func (o *PatchSteeringIpsecTunnelsIDRequest) GetID() int64 { + if o == nil { + return 0 + } + return o.ID +} + +func (o *PatchSteeringIpsecTunnelsIDRequest) GetIpsecTunnelRequestPatch() shared.IpsecTunnelRequestPatch { + if o == nil { + return shared.IpsecTunnelRequestPatch{} + } + return o.IpsecTunnelRequestPatch +} + +type PatchSteeringIpsecTunnelsIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successful operation + IpsecPatchResponse200 *shared.IpsecPatchResponse200 + // Invalid request + IpsecResponse400 *shared.IpsecResponse400 + // Access forbidden + IpsecResponse403 *shared.IpsecResponse403 + // Not found + IpsecResponse404 *shared.IpsecResponse404 + // Method not allowed + IpsecResponse405 *shared.IpsecResponse405 + // Too many requests + IpsecResponse429 *shared.IpsecResponse429 + // Internal server error + IpsecResponse500 *shared.IpsecResponse500 +} + +func (o *PatchSteeringIpsecTunnelsIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PatchSteeringIpsecTunnelsIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PatchSteeringIpsecTunnelsIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PatchSteeringIpsecTunnelsIDResponse) GetIpsecPatchResponse200() *shared.IpsecPatchResponse200 { + if o == nil { + return nil + } + return o.IpsecPatchResponse200 +} + +func (o *PatchSteeringIpsecTunnelsIDResponse) GetIpsecResponse400() *shared.IpsecResponse400 { + if o == nil { + return nil + } + return o.IpsecResponse400 +} + +func (o *PatchSteeringIpsecTunnelsIDResponse) GetIpsecResponse403() *shared.IpsecResponse403 { + if o == nil { + return nil + } + return o.IpsecResponse403 +} + +func (o *PatchSteeringIpsecTunnelsIDResponse) GetIpsecResponse404() *shared.IpsecResponse404 { + if o == nil { + return nil + } + return o.IpsecResponse404 +} + +func (o *PatchSteeringIpsecTunnelsIDResponse) GetIpsecResponse405() *shared.IpsecResponse405 { + if o == nil { + return nil + } + return o.IpsecResponse405 +} + +func (o *PatchSteeringIpsecTunnelsIDResponse) GetIpsecResponse429() *shared.IpsecResponse429 { + if o == nil { + return nil + } + return o.IpsecResponse429 +} + +func (o *PatchSteeringIpsecTunnelsIDResponse) GetIpsecResponse500() *shared.IpsecResponse500 { + if o == nil { + return nil + } + return o.IpsecResponse500 +} diff --git a/internal/sdk/pkg/models/operations/postinfrastructurepublisherspublisheridregistrationtoken.go b/internal/sdk/pkg/models/operations/postinfrastructurepublisherspublisheridregistrationtoken.go index 25c9122..efe71b5 100644 --- a/internal/sdk/pkg/models/operations/postinfrastructurepublisherspublisheridregistrationtoken.go +++ b/internal/sdk/pkg/models/operations/postinfrastructurepublisherspublisheridregistrationtoken.go @@ -21,11 +21,11 @@ func (o *PostInfrastructurePublishersPublisherIDRegistrationTokenRequest) GetPub return o.PublisherID } -type Data struct { +type PostInfrastructurePublishersPublisherIDRegistrationTokenData struct { Token string `json:"token"` } -func (o *Data) GetToken() string { +func (o *PostInfrastructurePublishersPublisherIDRegistrationTokenData) GetToken() string { if o == nil { return "" } @@ -61,13 +61,13 @@ func (e *PostInfrastructurePublishersPublisherIDRegistrationTokenStatus) Unmarsh // PostInfrastructurePublishersPublisherIDRegistrationTokenResponseBody - successful operation type PostInfrastructurePublishersPublisherIDRegistrationTokenResponseBody struct { - Data Data `json:"data"` + Data PostInfrastructurePublishersPublisherIDRegistrationTokenData `json:"data"` Status PostInfrastructurePublishersPublisherIDRegistrationTokenStatus `json:"status"` } -func (o *PostInfrastructurePublishersPublisherIDRegistrationTokenResponseBody) GetData() Data { +func (o *PostInfrastructurePublishersPublisherIDRegistrationTokenResponseBody) GetData() PostInfrastructurePublishersPublisherIDRegistrationTokenData { if o == nil { - return Data{} + return PostInfrastructurePublishersPublisherIDRegistrationTokenData{} } return o.Data } diff --git a/internal/sdk/pkg/models/operations/postinfrastructurepublisherupgradeprofiles.go b/internal/sdk/pkg/models/operations/postinfrastructurepublisherupgradeprofiles.go new file mode 100644 index 0000000..176ac5f --- /dev/null +++ b/internal/sdk/pkg/models/operations/postinfrastructurepublisherupgradeprofiles.go @@ -0,0 +1,106 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +// PostInfrastructurePublisherupgradeprofilesQueryParamSilent - flag to skip output except status code +type PostInfrastructurePublisherupgradeprofilesQueryParamSilent string + +const ( + PostInfrastructurePublisherupgradeprofilesQueryParamSilentOne PostInfrastructurePublisherupgradeprofilesQueryParamSilent = "1" + PostInfrastructurePublisherupgradeprofilesQueryParamSilentZero PostInfrastructurePublisherupgradeprofilesQueryParamSilent = "0" +) + +func (e PostInfrastructurePublisherupgradeprofilesQueryParamSilent) ToPointer() *PostInfrastructurePublisherupgradeprofilesQueryParamSilent { + return &e +} + +func (e *PostInfrastructurePublisherupgradeprofilesQueryParamSilent) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "1": + fallthrough + case "0": + *e = PostInfrastructurePublisherupgradeprofilesQueryParamSilent(v) + return nil + default: + return fmt.Errorf("invalid value for PostInfrastructurePublisherupgradeprofilesQueryParamSilent: %v", v) + } +} + +type PostInfrastructurePublisherupgradeprofilesRequest struct { + // flag to skip output except status code + Silent *PostInfrastructurePublisherupgradeprofilesQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + PublisherUpgradeProfilePostRequest *shared.PublisherUpgradeProfilePostRequest `request:"mediaType=application/json"` +} + +func (o *PostInfrastructurePublisherupgradeprofilesRequest) GetSilent() *PostInfrastructurePublisherupgradeprofilesQueryParamSilent { + if o == nil { + return nil + } + return o.Silent +} + +func (o *PostInfrastructurePublisherupgradeprofilesRequest) GetPublisherUpgradeProfilePostRequest() *shared.PublisherUpgradeProfilePostRequest { + if o == nil { + return nil + } + return o.PublisherUpgradeProfilePostRequest +} + +type PostInfrastructurePublisherupgradeprofilesResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + PublisherUpgradeProfileResponse *shared.PublisherUpgradeProfileResponse + // Invalid request + FourHundred *shared.FourHundred +} + +func (o *PostInfrastructurePublisherupgradeprofilesResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PostInfrastructurePublisherupgradeprofilesResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PostInfrastructurePublisherupgradeprofilesResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PostInfrastructurePublisherupgradeprofilesResponse) GetPublisherUpgradeProfileResponse() *shared.PublisherUpgradeProfileResponse { + if o == nil { + return nil + } + return o.PublisherUpgradeProfileResponse +} + +func (o *PostInfrastructurePublisherupgradeprofilesResponse) GetFourHundred() *shared.FourHundred { + if o == nil { + return nil + } + return o.FourHundred +} diff --git a/internal/sdk/pkg/models/operations/postpolicynpapolicygroups.go b/internal/sdk/pkg/models/operations/postpolicynpapolicygroups.go new file mode 100644 index 0000000..ecdd743 --- /dev/null +++ b/internal/sdk/pkg/models/operations/postpolicynpapolicygroups.go @@ -0,0 +1,118 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +// PostPolicyNpaPolicygroupsQueryParamSilent - flag to skip output except status code +type PostPolicyNpaPolicygroupsQueryParamSilent string + +const ( + PostPolicyNpaPolicygroupsQueryParamSilentOne PostPolicyNpaPolicygroupsQueryParamSilent = "1" + PostPolicyNpaPolicygroupsQueryParamSilentZero PostPolicyNpaPolicygroupsQueryParamSilent = "0" +) + +func (e PostPolicyNpaPolicygroupsQueryParamSilent) ToPointer() *PostPolicyNpaPolicygroupsQueryParamSilent { + return &e +} + +func (e *PostPolicyNpaPolicygroupsQueryParamSilent) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "1": + fallthrough + case "0": + *e = PostPolicyNpaPolicygroupsQueryParamSilent(v) + return nil + default: + return fmt.Errorf("invalid value for PostPolicyNpaPolicygroupsQueryParamSilent: %v", v) + } +} + +type PostPolicyNpaPolicygroupsRequest struct { + // flag to skip output except status code + Silent *PostPolicyNpaPolicygroupsQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + NpaPolicygroupRequest shared.NpaPolicygroupRequest `request:"mediaType=application/json"` +} + +func (o *PostPolicyNpaPolicygroupsRequest) GetSilent() *PostPolicyNpaPolicygroupsQueryParamSilent { + if o == nil { + return nil + } + return o.Silent +} + +func (o *PostPolicyNpaPolicygroupsRequest) GetNpaPolicygroupRequest() shared.NpaPolicygroupRequest { + if o == nil { + return shared.NpaPolicygroupRequest{} + } + return o.NpaPolicygroupRequest +} + +// PostPolicyNpaPolicygroupsResponseBody - successful operation +type PostPolicyNpaPolicygroupsResponseBody struct { + Data *shared.NpaPolicygroupResponseItem `json:"data,omitempty"` +} + +func (o *PostPolicyNpaPolicygroupsResponseBody) GetData() *shared.NpaPolicygroupResponseItem { + if o == nil { + return nil + } + return o.Data +} + +type PostPolicyNpaPolicygroupsResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + Object *PostPolicyNpaPolicygroupsResponseBody + // Invalid request + NpaPolicygroupResponse400 *shared.NpaPolicygroupResponse400 +} + +func (o *PostPolicyNpaPolicygroupsResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PostPolicyNpaPolicygroupsResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PostPolicyNpaPolicygroupsResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PostPolicyNpaPolicygroupsResponse) GetObject() *PostPolicyNpaPolicygroupsResponseBody { + if o == nil { + return nil + } + return o.Object +} + +func (o *PostPolicyNpaPolicygroupsResponse) GetNpaPolicygroupResponse400() *shared.NpaPolicygroupResponse400 { + if o == nil { + return nil + } + return o.NpaPolicygroupResponse400 +} diff --git a/internal/sdk/pkg/models/operations/poststeeringappsprivate.go b/internal/sdk/pkg/models/operations/poststeeringappsprivate.go new file mode 100644 index 0000000..3188974 --- /dev/null +++ b/internal/sdk/pkg/models/operations/poststeeringappsprivate.go @@ -0,0 +1,106 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +// PostSteeringAppsPrivateQueryParamSilent - flag to skip output except status code +type PostSteeringAppsPrivateQueryParamSilent string + +const ( + PostSteeringAppsPrivateQueryParamSilentOne PostSteeringAppsPrivateQueryParamSilent = "1" + PostSteeringAppsPrivateQueryParamSilentZero PostSteeringAppsPrivateQueryParamSilent = "0" +) + +func (e PostSteeringAppsPrivateQueryParamSilent) ToPointer() *PostSteeringAppsPrivateQueryParamSilent { + return &e +} + +func (e *PostSteeringAppsPrivateQueryParamSilent) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "1": + fallthrough + case "0": + *e = PostSteeringAppsPrivateQueryParamSilent(v) + return nil + default: + return fmt.Errorf("invalid value for PostSteeringAppsPrivateQueryParamSilent: %v", v) + } +} + +type PostSteeringAppsPrivateRequest struct { + // flag to skip output except status code + Silent *PostSteeringAppsPrivateQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + PrivateAppsRequest shared.PrivateAppsRequest `request:"mediaType=application/json"` +} + +func (o *PostSteeringAppsPrivateRequest) GetSilent() *PostSteeringAppsPrivateQueryParamSilent { + if o == nil { + return nil + } + return o.Silent +} + +func (o *PostSteeringAppsPrivateRequest) GetPrivateAppsRequest() shared.PrivateAppsRequest { + if o == nil { + return shared.PrivateAppsRequest{} + } + return o.PrivateAppsRequest +} + +type PostSteeringAppsPrivateResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + PrivateAppsResponse *shared.PrivateAppsResponse + // Invalid request + PrivateAppsResponse400 *shared.PrivateAppsResponse400 +} + +func (o *PostSteeringAppsPrivateResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PostSteeringAppsPrivateResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PostSteeringAppsPrivateResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PostSteeringAppsPrivateResponse) GetPrivateAppsResponse() *shared.PrivateAppsResponse { + if o == nil { + return nil + } + return o.PrivateAppsResponse +} + +func (o *PostSteeringAppsPrivateResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { + if o == nil { + return nil + } + return o.PrivateAppsResponse400 +} diff --git a/internal/sdk/pkg/models/operations/poststeeringappsprivategetpolicyinuse.go b/internal/sdk/pkg/models/operations/poststeeringappsprivategetpolicyinuse.go new file mode 100644 index 0000000..53a4d22 --- /dev/null +++ b/internal/sdk/pkg/models/operations/poststeeringappsprivategetpolicyinuse.go @@ -0,0 +1,90 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type PostSteeringAppsPrivateGetpolicyinuseRequestBody struct { + Ids []string `json:"ids,omitempty"` +} + +func (o *PostSteeringAppsPrivateGetpolicyinuseRequestBody) GetIds() []string { + if o == nil { + return nil + } + return o.Ids +} + +type Data struct { + Token *string `json:"token,omitempty"` +} + +func (o *Data) GetToken() *string { + if o == nil { + return nil + } + return o.Token +} + +// PostSteeringAppsPrivateGetpolicyinuseResponseBody - successful operation +type PostSteeringAppsPrivateGetpolicyinuseResponseBody struct { + Data []Data `json:"data,omitempty"` +} + +func (o *PostSteeringAppsPrivateGetpolicyinuseResponseBody) GetData() []Data { + if o == nil { + return nil + } + return o.Data +} + +type PostSteeringAppsPrivateGetpolicyinuseResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + Object *PostSteeringAppsPrivateGetpolicyinuseResponseBody + // Invalid request + PrivateAppsResponse400 *shared.PrivateAppsResponse400 +} + +func (o *PostSteeringAppsPrivateGetpolicyinuseResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PostSteeringAppsPrivateGetpolicyinuseResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PostSteeringAppsPrivateGetpolicyinuseResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PostSteeringAppsPrivateGetpolicyinuseResponse) GetObject() *PostSteeringAppsPrivateGetpolicyinuseResponseBody { + if o == nil { + return nil + } + return o.Object +} + +func (o *PostSteeringAppsPrivateGetpolicyinuseResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { + if o == nil { + return nil + } + return o.PrivateAppsResponse400 +} diff --git a/internal/sdk/pkg/models/operations/poststeeringappsprivatetags.go b/internal/sdk/pkg/models/operations/poststeeringappsprivatetags.go new file mode 100644 index 0000000..ffabd72 --- /dev/null +++ b/internal/sdk/pkg/models/operations/poststeeringappsprivatetags.go @@ -0,0 +1,56 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type PostSteeringAppsPrivateTagsResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + TagResponse *shared.TagResponse + // Invalid request + TagResponse400 *shared.TagResponse400 +} + +func (o *PostSteeringAppsPrivateTagsResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PostSteeringAppsPrivateTagsResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PostSteeringAppsPrivateTagsResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PostSteeringAppsPrivateTagsResponse) GetTagResponse() *shared.TagResponse { + if o == nil { + return nil + } + return o.TagResponse +} + +func (o *PostSteeringAppsPrivateTagsResponse) GetTagResponse400() *shared.TagResponse400 { + if o == nil { + return nil + } + return o.TagResponse400 +} diff --git a/internal/sdk/pkg/models/operations/poststeeringappsprivatetagsgetpolicyinuse.go b/internal/sdk/pkg/models/operations/poststeeringappsprivatetagsgetpolicyinuse.go new file mode 100644 index 0000000..893dffa --- /dev/null +++ b/internal/sdk/pkg/models/operations/poststeeringappsprivatetagsgetpolicyinuse.go @@ -0,0 +1,90 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type PostSteeringAppsPrivateTagsGetpolicyinuseRequestBody struct { + Ids []string `json:"ids,omitempty"` +} + +func (o *PostSteeringAppsPrivateTagsGetpolicyinuseRequestBody) GetIds() []string { + if o == nil { + return nil + } + return o.Ids +} + +type PostSteeringAppsPrivateTagsGetpolicyinuseData struct { + Token *string `json:"token,omitempty"` +} + +func (o *PostSteeringAppsPrivateTagsGetpolicyinuseData) GetToken() *string { + if o == nil { + return nil + } + return o.Token +} + +// PostSteeringAppsPrivateTagsGetpolicyinuseResponseBody - successful operation +type PostSteeringAppsPrivateTagsGetpolicyinuseResponseBody struct { + Data []PostSteeringAppsPrivateTagsGetpolicyinuseData `json:"data,omitempty"` +} + +func (o *PostSteeringAppsPrivateTagsGetpolicyinuseResponseBody) GetData() []PostSteeringAppsPrivateTagsGetpolicyinuseData { + if o == nil { + return nil + } + return o.Data +} + +type PostSteeringAppsPrivateTagsGetpolicyinuseResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + Object *PostSteeringAppsPrivateTagsGetpolicyinuseResponseBody + // Invalid request + TagResponse400 *shared.TagResponse400 +} + +func (o *PostSteeringAppsPrivateTagsGetpolicyinuseResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PostSteeringAppsPrivateTagsGetpolicyinuseResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PostSteeringAppsPrivateTagsGetpolicyinuseResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PostSteeringAppsPrivateTagsGetpolicyinuseResponse) GetObject() *PostSteeringAppsPrivateTagsGetpolicyinuseResponseBody { + if o == nil { + return nil + } + return o.Object +} + +func (o *PostSteeringAppsPrivateTagsGetpolicyinuseResponse) GetTagResponse400() *shared.TagResponse400 { + if o == nil { + return nil + } + return o.TagResponse400 +} diff --git a/internal/sdk/pkg/models/operations/poststeeringgretunnels.go b/internal/sdk/pkg/models/operations/poststeeringgretunnels.go new file mode 100644 index 0000000..2a7e735 --- /dev/null +++ b/internal/sdk/pkg/models/operations/poststeeringgretunnels.go @@ -0,0 +1,101 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type PostSteeringGreTunnelsResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successful operation + GreResponse201 *shared.GreResponse201 + // Invalid request + GreResponse400 *shared.GreResponse400 + // Access forbidden + GreResponse403 *shared.GreResponse403 + // Method not allowed + GreResponse405 *shared.GreResponse405 + // Already exists + GreResponse409 *shared.GreResponse409 + // Too many requests + GreResponse429 *shared.GreResponse429 + // Internal server error + GreResponse500 *shared.GreResponse500 +} + +func (o *PostSteeringGreTunnelsResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PostSteeringGreTunnelsResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PostSteeringGreTunnelsResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PostSteeringGreTunnelsResponse) GetGreResponse201() *shared.GreResponse201 { + if o == nil { + return nil + } + return o.GreResponse201 +} + +func (o *PostSteeringGreTunnelsResponse) GetGreResponse400() *shared.GreResponse400 { + if o == nil { + return nil + } + return o.GreResponse400 +} + +func (o *PostSteeringGreTunnelsResponse) GetGreResponse403() *shared.GreResponse403 { + if o == nil { + return nil + } + return o.GreResponse403 +} + +func (o *PostSteeringGreTunnelsResponse) GetGreResponse405() *shared.GreResponse405 { + if o == nil { + return nil + } + return o.GreResponse405 +} + +func (o *PostSteeringGreTunnelsResponse) GetGreResponse409() *shared.GreResponse409 { + if o == nil { + return nil + } + return o.GreResponse409 +} + +func (o *PostSteeringGreTunnelsResponse) GetGreResponse429() *shared.GreResponse429 { + if o == nil { + return nil + } + return o.GreResponse429 +} + +func (o *PostSteeringGreTunnelsResponse) GetGreResponse500() *shared.GreResponse500 { + if o == nil { + return nil + } + return o.GreResponse500 +} diff --git a/internal/sdk/pkg/models/operations/poststeeringipsectunnels.go b/internal/sdk/pkg/models/operations/poststeeringipsectunnels.go new file mode 100644 index 0000000..e8893c2 --- /dev/null +++ b/internal/sdk/pkg/models/operations/poststeeringipsectunnels.go @@ -0,0 +1,101 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type PostSteeringIpsecTunnelsResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successful operation + IpsecResponse201 *shared.IpsecResponse201 + // Invalid request + IpsecResponse400 *shared.IpsecResponse400 + // Access forbidden + IpsecResponse403 *shared.IpsecResponse403 + // Method not allowed + IpsecResponse405 *shared.IpsecResponse405 + // Already exists + IpsecResponse409 *shared.IpsecResponse409 + // Too many requests + IpsecResponse429 *shared.IpsecResponse429 + // Internal server error + IpsecResponse500 *shared.IpsecResponse500 +} + +func (o *PostSteeringIpsecTunnelsResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PostSteeringIpsecTunnelsResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PostSteeringIpsecTunnelsResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PostSteeringIpsecTunnelsResponse) GetIpsecResponse201() *shared.IpsecResponse201 { + if o == nil { + return nil + } + return o.IpsecResponse201 +} + +func (o *PostSteeringIpsecTunnelsResponse) GetIpsecResponse400() *shared.IpsecResponse400 { + if o == nil { + return nil + } + return o.IpsecResponse400 +} + +func (o *PostSteeringIpsecTunnelsResponse) GetIpsecResponse403() *shared.IpsecResponse403 { + if o == nil { + return nil + } + return o.IpsecResponse403 +} + +func (o *PostSteeringIpsecTunnelsResponse) GetIpsecResponse405() *shared.IpsecResponse405 { + if o == nil { + return nil + } + return o.IpsecResponse405 +} + +func (o *PostSteeringIpsecTunnelsResponse) GetIpsecResponse409() *shared.IpsecResponse409 { + if o == nil { + return nil + } + return o.IpsecResponse409 +} + +func (o *PostSteeringIpsecTunnelsResponse) GetIpsecResponse429() *shared.IpsecResponse429 { + if o == nil { + return nil + } + return o.IpsecResponse429 +} + +func (o *PostSteeringIpsecTunnelsResponse) GetIpsecResponse500() *shared.IpsecResponse500 { + if o == nil { + return nil + } + return o.IpsecResponse500 +} diff --git a/internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesbulk.go b/internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesbulk.go new file mode 100644 index 0000000..ec9acc3 --- /dev/null +++ b/internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesbulk.go @@ -0,0 +1,110 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +// PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent - flag to skip output except status code: +// - `1` - Skip response data +// - `0` - Do not skip response data +type PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent string + +const ( + PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilentOne PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent = "1" + PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilentZero PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent = "0" +) + +func (e PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent) ToPointer() *PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent { + return &e +} + +func (e *PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "1": + fallthrough + case "0": + *e = PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent(v) + return nil + default: + return fmt.Errorf("invalid value for PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent: %v", v) + } +} + +type PutInfrastructurePublisherupgradeprofilesBulkRequest struct { + // flag to skip output except status code: + // * `1` - Skip response data + // * `0` - Do not skip response data + Silent *PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + PublisherUpgradeProfileBulkRequest shared.PublisherUpgradeProfileBulkRequest `request:"mediaType=application/json"` +} + +func (o *PutInfrastructurePublisherupgradeprofilesBulkRequest) GetSilent() *PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent { + if o == nil { + return nil + } + return o.Silent +} + +func (o *PutInfrastructurePublisherupgradeprofilesBulkRequest) GetPublisherUpgradeProfileBulkRequest() shared.PublisherUpgradeProfileBulkRequest { + if o == nil { + return shared.PublisherUpgradeProfileBulkRequest{} + } + return o.PublisherUpgradeProfileBulkRequest +} + +type PutInfrastructurePublisherupgradeprofilesBulkResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + PublisherUpgradeProfileBulkResponse *shared.PublisherUpgradeProfileBulkResponse + // Invalid request + FourHundred *shared.FourHundred +} + +func (o *PutInfrastructurePublisherupgradeprofilesBulkResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PutInfrastructurePublisherupgradeprofilesBulkResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PutInfrastructurePublisherupgradeprofilesBulkResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PutInfrastructurePublisherupgradeprofilesBulkResponse) GetPublisherUpgradeProfileBulkResponse() *shared.PublisherUpgradeProfileBulkResponse { + if o == nil { + return nil + } + return o.PublisherUpgradeProfileBulkResponse +} + +func (o *PutInfrastructurePublisherupgradeprofilesBulkResponse) GetFourHundred() *shared.FourHundred { + if o == nil { + return nil + } + return o.FourHundred +} diff --git a/internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesupgradeprofileid.go b/internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesupgradeprofileid.go new file mode 100644 index 0000000..85bc5a8 --- /dev/null +++ b/internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesupgradeprofileid.go @@ -0,0 +1,115 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +// PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent - flag to skip output except status code +type PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent string + +const ( + PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilentOne PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent = "1" + PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilentZero PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent = "0" +) + +func (e PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent) ToPointer() *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent { + return &e +} + +func (e *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "1": + fallthrough + case "0": + *e = PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent(v) + return nil + default: + return fmt.Errorf("invalid value for PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent: %v", v) + } +} + +type PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest struct { + // publisher upgrade profile id + UpgradeProfileID int `pathParam:"style=simple,explode=false,name=upgrade_profile_id"` + // flag to skip output except status code + Silent *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + PublisherUpgradeProfilePutRequest shared.PublisherUpgradeProfilePutRequest `request:"mediaType=application/json"` +} + +func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) GetUpgradeProfileID() int { + if o == nil { + return 0 + } + return o.UpgradeProfileID +} + +func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) GetSilent() *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent { + if o == nil { + return nil + } + return o.Silent +} + +func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) GetPublisherUpgradeProfilePutRequest() shared.PublisherUpgradeProfilePutRequest { + if o == nil { + return shared.PublisherUpgradeProfilePutRequest{} + } + return o.PublisherUpgradeProfilePutRequest +} + +type PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + PublisherUpgradeProfileResponse *shared.PublisherUpgradeProfileResponse + // Invalid request + FourHundred *shared.FourHundred +} + +func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetPublisherUpgradeProfileResponse() *shared.PublisherUpgradeProfileResponse { + if o == nil { + return nil + } + return o.PublisherUpgradeProfileResponse +} + +func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetFourHundred() *shared.FourHundred { + if o == nil { + return nil + } + return o.FourHundred +} diff --git a/internal/sdk/pkg/models/operations/putsteeringappsprivateprivateappid.go b/internal/sdk/pkg/models/operations/putsteeringappsprivateprivateappid.go new file mode 100644 index 0000000..b536832 --- /dev/null +++ b/internal/sdk/pkg/models/operations/putsteeringappsprivateprivateappid.go @@ -0,0 +1,115 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +// PutSteeringAppsPrivatePrivateAppIDQueryParamSilent - flag to skip output except status code +type PutSteeringAppsPrivatePrivateAppIDQueryParamSilent string + +const ( + PutSteeringAppsPrivatePrivateAppIDQueryParamSilentOne PutSteeringAppsPrivatePrivateAppIDQueryParamSilent = "1" + PutSteeringAppsPrivatePrivateAppIDQueryParamSilentZero PutSteeringAppsPrivatePrivateAppIDQueryParamSilent = "0" +) + +func (e PutSteeringAppsPrivatePrivateAppIDQueryParamSilent) ToPointer() *PutSteeringAppsPrivatePrivateAppIDQueryParamSilent { + return &e +} + +func (e *PutSteeringAppsPrivatePrivateAppIDQueryParamSilent) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "1": + fallthrough + case "0": + *e = PutSteeringAppsPrivatePrivateAppIDQueryParamSilent(v) + return nil + default: + return fmt.Errorf("invalid value for PutSteeringAppsPrivatePrivateAppIDQueryParamSilent: %v", v) + } +} + +type PutSteeringAppsPrivatePrivateAppIDRequest struct { + // private apps id + PrivateAppID int `pathParam:"style=simple,explode=false,name=private_app_id"` + // flag to skip output except status code + Silent *PutSteeringAppsPrivatePrivateAppIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + PrivateAppsPutRequest shared.PrivateAppsPutRequest `request:"mediaType=application/json"` +} + +func (o *PutSteeringAppsPrivatePrivateAppIDRequest) GetPrivateAppID() int { + if o == nil { + return 0 + } + return o.PrivateAppID +} + +func (o *PutSteeringAppsPrivatePrivateAppIDRequest) GetSilent() *PutSteeringAppsPrivatePrivateAppIDQueryParamSilent { + if o == nil { + return nil + } + return o.Silent +} + +func (o *PutSteeringAppsPrivatePrivateAppIDRequest) GetPrivateAppsPutRequest() shared.PrivateAppsPutRequest { + if o == nil { + return shared.PrivateAppsPutRequest{} + } + return o.PrivateAppsPutRequest +} + +type PutSteeringAppsPrivatePrivateAppIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + PrivateAppsResponse *shared.PrivateAppsResponse + // Invalid request + PrivateAppsResponse400 *shared.PrivateAppsResponse400 +} + +func (o *PutSteeringAppsPrivatePrivateAppIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PutSteeringAppsPrivatePrivateAppIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PutSteeringAppsPrivatePrivateAppIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PutSteeringAppsPrivatePrivateAppIDResponse) GetPrivateAppsResponse() *shared.PrivateAppsResponse { + if o == nil { + return nil + } + return o.PrivateAppsResponse +} + +func (o *PutSteeringAppsPrivatePrivateAppIDResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { + if o == nil { + return nil + } + return o.PrivateAppsResponse400 +} diff --git a/internal/sdk/pkg/models/operations/putsteeringappsprivatetagstagid.go b/internal/sdk/pkg/models/operations/putsteeringappsprivatetagstagid.go new file mode 100644 index 0000000..7bd8679 --- /dev/null +++ b/internal/sdk/pkg/models/operations/putsteeringappsprivatetagstagid.go @@ -0,0 +1,76 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "net/http" +) + +type PutSteeringAppsPrivateTagsTagIDRequest struct { + // tag id + TagID int `pathParam:"style=simple,explode=false,name=tag_id"` + TagRequest shared.TagRequest `request:"mediaType=application/json"` +} + +func (o *PutSteeringAppsPrivateTagsTagIDRequest) GetTagID() int { + if o == nil { + return 0 + } + return o.TagID +} + +func (o *PutSteeringAppsPrivateTagsTagIDRequest) GetTagRequest() shared.TagRequest { + if o == nil { + return shared.TagRequest{} + } + return o.TagRequest +} + +type PutSteeringAppsPrivateTagsTagIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + TagResponse *shared.TagResponse + // Invalid request + TagResponse400 *shared.TagResponse400 +} + +func (o *PutSteeringAppsPrivateTagsTagIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PutSteeringAppsPrivateTagsTagIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PutSteeringAppsPrivateTagsTagIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PutSteeringAppsPrivateTagsTagIDResponse) GetTagResponse() *shared.TagResponse { + if o == nil { + return nil + } + return o.TagResponse +} + +func (o *PutSteeringAppsPrivateTagsTagIDResponse) GetTagResponse400() *shared.TagResponse400 { + if o == nil { + return nil + } + return o.TagResponse400 +} diff --git a/internal/sdk/pkg/models/shared/fourhundred.go b/internal/sdk/pkg/models/shared/fourhundred.go new file mode 100644 index 0000000..cf6d0ec --- /dev/null +++ b/internal/sdk/pkg/models/shared/fourhundred.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type FourHundred struct { + Status *int64 `json:"status,omitempty"` + Message *string `json:"message,omitempty"` +} + +func (o *FourHundred) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *FourHundred) GetMessage() *string { + if o == nil { + return nil + } + return o.Message +} diff --git a/internal/sdk/pkg/models/shared/grepatchresponse200.go b/internal/sdk/pkg/models/shared/grepatchresponse200.go new file mode 100644 index 0000000..17dd440 --- /dev/null +++ b/internal/sdk/pkg/models/shared/grepatchresponse200.go @@ -0,0 +1,30 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type GrePatchResponse200 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` + Data []GreTunnelResultItem `json:"data,omitempty"` +} + +func (o *GrePatchResponse200) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *GrePatchResponse200) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} + +func (o *GrePatchResponse200) GetData() []GreTunnelResultItem { + if o == nil { + return nil + } + return o.Data +} diff --git a/internal/sdk/pkg/models/shared/grepopresponse200.go b/internal/sdk/pkg/models/shared/grepopresponse200.go new file mode 100644 index 0000000..713a076 --- /dev/null +++ b/internal/sdk/pkg/models/shared/grepopresponse200.go @@ -0,0 +1,30 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type GrePopResponse200 struct { + Status *int64 `json:"status,omitempty"` + Total *int64 `json:"total,omitempty"` + Result []GrePopResultItem `json:"result,omitempty"` +} + +func (o *GrePopResponse200) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *GrePopResponse200) GetTotal() *int64 { + if o == nil { + return nil + } + return o.Total +} + +func (o *GrePopResponse200) GetResult() []GrePopResultItem { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/grepopresultitem.go b/internal/sdk/pkg/models/shared/grepopresultitem.go new file mode 100644 index 0000000..2fff961 --- /dev/null +++ b/internal/sdk/pkg/models/shared/grepopresultitem.go @@ -0,0 +1,70 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type GrePopResultItem struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Region *string `json:"region,omitempty"` + Location *string `json:"location,omitempty"` + Gateway *string `json:"gateway,omitempty"` + Probeip *string `json:"probeip,omitempty"` + Distance *string `json:"distance,omitempty"` + Acceptingtunnels *bool `json:"acceptingtunnels,omitempty"` +} + +func (o *GrePopResultItem) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *GrePopResultItem) GetName() *string { + if o == nil { + return nil + } + return o.Name +} + +func (o *GrePopResultItem) GetRegion() *string { + if o == nil { + return nil + } + return o.Region +} + +func (o *GrePopResultItem) GetLocation() *string { + if o == nil { + return nil + } + return o.Location +} + +func (o *GrePopResultItem) GetGateway() *string { + if o == nil { + return nil + } + return o.Gateway +} + +func (o *GrePopResultItem) GetProbeip() *string { + if o == nil { + return nil + } + return o.Probeip +} + +func (o *GrePopResultItem) GetDistance() *string { + if o == nil { + return nil + } + return o.Distance +} + +func (o *GrePopResultItem) GetAcceptingtunnels() *bool { + if o == nil { + return nil + } + return o.Acceptingtunnels +} diff --git a/internal/sdk/pkg/models/shared/greresponse200.go b/internal/sdk/pkg/models/shared/greresponse200.go new file mode 100644 index 0000000..1a4cf0c --- /dev/null +++ b/internal/sdk/pkg/models/shared/greresponse200.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type GreResponse200 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` +} + +func (o *GreResponse200) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *GreResponse200) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/greresponse201.go b/internal/sdk/pkg/models/shared/greresponse201.go new file mode 100644 index 0000000..b88c1f4 --- /dev/null +++ b/internal/sdk/pkg/models/shared/greresponse201.go @@ -0,0 +1,30 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type GreResponse201 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` + Data []GreTunnelResultItem `json:"data,omitempty"` +} + +func (o *GreResponse201) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *GreResponse201) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} + +func (o *GreResponse201) GetData() []GreTunnelResultItem { + if o == nil { + return nil + } + return o.Data +} diff --git a/internal/sdk/pkg/models/shared/greresponse400.go b/internal/sdk/pkg/models/shared/greresponse400.go new file mode 100644 index 0000000..dfd6d18 --- /dev/null +++ b/internal/sdk/pkg/models/shared/greresponse400.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type GreResponse400 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` +} + +func (o *GreResponse400) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *GreResponse400) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/greresponse403.go b/internal/sdk/pkg/models/shared/greresponse403.go new file mode 100644 index 0000000..93bfa41 --- /dev/null +++ b/internal/sdk/pkg/models/shared/greresponse403.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type GreResponse403 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` +} + +func (o *GreResponse403) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *GreResponse403) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/greresponse404.go b/internal/sdk/pkg/models/shared/greresponse404.go new file mode 100644 index 0000000..2929f30 --- /dev/null +++ b/internal/sdk/pkg/models/shared/greresponse404.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type GreResponse404 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` +} + +func (o *GreResponse404) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *GreResponse404) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/greresponse405.go b/internal/sdk/pkg/models/shared/greresponse405.go new file mode 100644 index 0000000..fa7017e --- /dev/null +++ b/internal/sdk/pkg/models/shared/greresponse405.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type GreResponse405 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` +} + +func (o *GreResponse405) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *GreResponse405) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/greresponse409.go b/internal/sdk/pkg/models/shared/greresponse409.go new file mode 100644 index 0000000..1222a8c --- /dev/null +++ b/internal/sdk/pkg/models/shared/greresponse409.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type GreResponse409 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` +} + +func (o *GreResponse409) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *GreResponse409) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/greresponse429.go b/internal/sdk/pkg/models/shared/greresponse429.go new file mode 100644 index 0000000..fa3d26c --- /dev/null +++ b/internal/sdk/pkg/models/shared/greresponse429.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type GreResponse429 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` +} + +func (o *GreResponse429) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *GreResponse429) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/greresponse500.go b/internal/sdk/pkg/models/shared/greresponse500.go new file mode 100644 index 0000000..276f7a5 --- /dev/null +++ b/internal/sdk/pkg/models/shared/greresponse500.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type GreResponse500 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` +} + +func (o *GreResponse500) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *GreResponse500) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/gretunnelpopresultitem.go b/internal/sdk/pkg/models/shared/gretunnelpopresultitem.go new file mode 100644 index 0000000..96e6d12 --- /dev/null +++ b/internal/sdk/pkg/models/shared/gretunnelpopresultitem.go @@ -0,0 +1,78 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type GreTunnelPopResultItem struct { + Name *string `json:"name,omitempty"` + Gateway *string `json:"gateway,omitempty"` + Probeip *string `json:"probeip,omitempty"` + Primary *bool `json:"primary,omitempty"` + UsertrafficStatus *string `json:"usertrafficStatus,omitempty"` + UsertrafficLast *string `json:"usertrafficLast,omitempty"` + KeepaliveStatus *string `json:"keepaliveStatus,omitempty"` + KeepaliveLast *string `json:"keepaliveLast,omitempty"` + Throughput *string `json:"throughput,omitempty"` +} + +func (o *GreTunnelPopResultItem) GetName() *string { + if o == nil { + return nil + } + return o.Name +} + +func (o *GreTunnelPopResultItem) GetGateway() *string { + if o == nil { + return nil + } + return o.Gateway +} + +func (o *GreTunnelPopResultItem) GetProbeip() *string { + if o == nil { + return nil + } + return o.Probeip +} + +func (o *GreTunnelPopResultItem) GetPrimary() *bool { + if o == nil { + return nil + } + return o.Primary +} + +func (o *GreTunnelPopResultItem) GetUsertrafficStatus() *string { + if o == nil { + return nil + } + return o.UsertrafficStatus +} + +func (o *GreTunnelPopResultItem) GetUsertrafficLast() *string { + if o == nil { + return nil + } + return o.UsertrafficLast +} + +func (o *GreTunnelPopResultItem) GetKeepaliveStatus() *string { + if o == nil { + return nil + } + return o.KeepaliveStatus +} + +func (o *GreTunnelPopResultItem) GetKeepaliveLast() *string { + if o == nil { + return nil + } + return o.KeepaliveLast +} + +func (o *GreTunnelPopResultItem) GetThroughput() *string { + if o == nil { + return nil + } + return o.Throughput +} diff --git a/internal/sdk/pkg/models/shared/gretunnelrequestpatch.go b/internal/sdk/pkg/models/shared/gretunnelrequestpatch.go new file mode 100644 index 0000000..f7b721f --- /dev/null +++ b/internal/sdk/pkg/models/shared/gretunnelrequestpatch.go @@ -0,0 +1,108 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type GreTunnelRequestPatchXff struct { + Enable *bool `json:"enable,omitempty"` + Iplist []string `json:"iplist,omitempty"` +} + +func (o *GreTunnelRequestPatchXff) GetEnable() *bool { + if o == nil { + return nil + } + return o.Enable +} + +func (o *GreTunnelRequestPatchXff) GetIplist() []string { + if o == nil { + return nil + } + return o.Iplist +} + +type GreTunnelRequestPatchOptions struct { + Xff *GreTunnelRequestPatchXff `json:"xff,omitempty"` +} + +func (o *GreTunnelRequestPatchOptions) GetXff() *GreTunnelRequestPatchXff { + if o == nil { + return nil + } + return o.Xff +} + +type GreTunnelRequestPatch struct { + Site *string `json:"site,omitempty"` + Srcipidentity *string `json:"srcipidentity,omitempty"` + Pops []string `json:"pops,omitempty"` + Vendor *string `json:"vendor,omitempty"` + Template *string `json:"template,omitempty"` + Sourcetype *string `json:"sourcetype,omitempty"` + Notes *string `json:"notes,omitempty"` + Enable *bool `json:"enable,omitempty"` + Options *GreTunnelRequestPatchOptions `json:"options,omitempty"` +} + +func (o *GreTunnelRequestPatch) GetSite() *string { + if o == nil { + return nil + } + return o.Site +} + +func (o *GreTunnelRequestPatch) GetSrcipidentity() *string { + if o == nil { + return nil + } + return o.Srcipidentity +} + +func (o *GreTunnelRequestPatch) GetPops() []string { + if o == nil { + return nil + } + return o.Pops +} + +func (o *GreTunnelRequestPatch) GetVendor() *string { + if o == nil { + return nil + } + return o.Vendor +} + +func (o *GreTunnelRequestPatch) GetTemplate() *string { + if o == nil { + return nil + } + return o.Template +} + +func (o *GreTunnelRequestPatch) GetSourcetype() *string { + if o == nil { + return nil + } + return o.Sourcetype +} + +func (o *GreTunnelRequestPatch) GetNotes() *string { + if o == nil { + return nil + } + return o.Notes +} + +func (o *GreTunnelRequestPatch) GetEnable() *bool { + if o == nil { + return nil + } + return o.Enable +} + +func (o *GreTunnelRequestPatch) GetOptions() *GreTunnelRequestPatchOptions { + if o == nil { + return nil + } + return o.Options +} diff --git a/internal/sdk/pkg/models/shared/gretunnelrequestpost.go b/internal/sdk/pkg/models/shared/gretunnelrequestpost.go new file mode 100644 index 0000000..4e4f58a --- /dev/null +++ b/internal/sdk/pkg/models/shared/gretunnelrequestpost.go @@ -0,0 +1,108 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type GreTunnelRequestPostXff struct { + Enable *bool `json:"enable,omitempty"` + Iplist []string `json:"iplist,omitempty"` +} + +func (o *GreTunnelRequestPostXff) GetEnable() *bool { + if o == nil { + return nil + } + return o.Enable +} + +func (o *GreTunnelRequestPostXff) GetIplist() []string { + if o == nil { + return nil + } + return o.Iplist +} + +type GreTunnelRequestPostOptions struct { + Xff *GreTunnelRequestPostXff `json:"xff,omitempty"` +} + +func (o *GreTunnelRequestPostOptions) GetXff() *GreTunnelRequestPostXff { + if o == nil { + return nil + } + return o.Xff +} + +type GreTunnelRequestPost struct { + Site *string `json:"site,omitempty"` + Srcipidentity *string `json:"srcipidentity,omitempty"` + Pops []string `json:"pops,omitempty"` + Vendor *string `json:"vendor,omitempty"` + Template *string `json:"template,omitempty"` + Sourcetype *string `json:"sourcetype,omitempty"` + Notes *string `json:"notes,omitempty"` + Enable *bool `json:"enable,omitempty"` + Options *GreTunnelRequestPostOptions `json:"options,omitempty"` +} + +func (o *GreTunnelRequestPost) GetSite() *string { + if o == nil { + return nil + } + return o.Site +} + +func (o *GreTunnelRequestPost) GetSrcipidentity() *string { + if o == nil { + return nil + } + return o.Srcipidentity +} + +func (o *GreTunnelRequestPost) GetPops() []string { + if o == nil { + return nil + } + return o.Pops +} + +func (o *GreTunnelRequestPost) GetVendor() *string { + if o == nil { + return nil + } + return o.Vendor +} + +func (o *GreTunnelRequestPost) GetTemplate() *string { + if o == nil { + return nil + } + return o.Template +} + +func (o *GreTunnelRequestPost) GetSourcetype() *string { + if o == nil { + return nil + } + return o.Sourcetype +} + +func (o *GreTunnelRequestPost) GetNotes() *string { + if o == nil { + return nil + } + return o.Notes +} + +func (o *GreTunnelRequestPost) GetEnable() *bool { + if o == nil { + return nil + } + return o.Enable +} + +func (o *GreTunnelRequestPost) GetOptions() *GreTunnelRequestPostOptions { + if o == nil { + return nil + } + return o.Options +} diff --git a/internal/sdk/pkg/models/shared/gretunnelresponse200.go b/internal/sdk/pkg/models/shared/gretunnelresponse200.go new file mode 100644 index 0000000..2539da7 --- /dev/null +++ b/internal/sdk/pkg/models/shared/gretunnelresponse200.go @@ -0,0 +1,30 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type GreTunnelResponse200 struct { + Status *int64 `json:"status,omitempty"` + Total *int64 `json:"total,omitempty"` + Result []GreTunnelResultItem `json:"result,omitempty"` +} + +func (o *GreTunnelResponse200) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *GreTunnelResponse200) GetTotal() *int64 { + if o == nil { + return nil + } + return o.Total +} + +func (o *GreTunnelResponse200) GetResult() []GreTunnelResultItem { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/gretunnelresultitem.go b/internal/sdk/pkg/models/shared/gretunnelresultitem.go new file mode 100644 index 0000000..5a2b032 --- /dev/null +++ b/internal/sdk/pkg/models/shared/gretunnelresultitem.go @@ -0,0 +1,124 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type Xff struct { + Enabled *bool `json:"enabled,omitempty"` + Iplist []string `json:"iplist,omitempty"` +} + +func (o *Xff) GetEnabled() *bool { + if o == nil { + return nil + } + return o.Enabled +} + +func (o *Xff) GetIplist() []string { + if o == nil { + return nil + } + return o.Iplist +} + +type Options struct { + Xff *Xff `json:"xff,omitempty"` +} + +func (o *Options) GetXff() *Xff { + if o == nil { + return nil + } + return o.Xff +} + +type GreTunnelResultItem struct { + ID *int64 `json:"id,omitempty"` + Site *string `json:"site,omitempty"` + Vendor *string `json:"vendor,omitempty"` + Template *string `json:"template,omitempty"` + Sourcetype *string `json:"sourcetype,omitempty"` + Notes *string `json:"notes,omitempty"` + Srcipidentity *string `json:"srcipidentity,omitempty"` + Pops []GreTunnelPopResultItem `json:"pops,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + Options *Options `json:"options,omitempty"` + Version *int64 `json:"version,omitempty"` +} + +func (o *GreTunnelResultItem) GetID() *int64 { + if o == nil { + return nil + } + return o.ID +} + +func (o *GreTunnelResultItem) GetSite() *string { + if o == nil { + return nil + } + return o.Site +} + +func (o *GreTunnelResultItem) GetVendor() *string { + if o == nil { + return nil + } + return o.Vendor +} + +func (o *GreTunnelResultItem) GetTemplate() *string { + if o == nil { + return nil + } + return o.Template +} + +func (o *GreTunnelResultItem) GetSourcetype() *string { + if o == nil { + return nil + } + return o.Sourcetype +} + +func (o *GreTunnelResultItem) GetNotes() *string { + if o == nil { + return nil + } + return o.Notes +} + +func (o *GreTunnelResultItem) GetSrcipidentity() *string { + if o == nil { + return nil + } + return o.Srcipidentity +} + +func (o *GreTunnelResultItem) GetPops() []GreTunnelPopResultItem { + if o == nil { + return nil + } + return o.Pops +} + +func (o *GreTunnelResultItem) GetEnabled() *bool { + if o == nil { + return nil + } + return o.Enabled +} + +func (o *GreTunnelResultItem) GetOptions() *Options { + if o == nil { + return nil + } + return o.Options +} + +func (o *GreTunnelResultItem) GetVersion() *int64 { + if o == nil { + return nil + } + return o.Version +} diff --git a/internal/sdk/pkg/models/shared/ipsecpatchresponse200.go b/internal/sdk/pkg/models/shared/ipsecpatchresponse200.go new file mode 100644 index 0000000..01bcceb --- /dev/null +++ b/internal/sdk/pkg/models/shared/ipsecpatchresponse200.go @@ -0,0 +1,30 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type IpsecPatchResponse200 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` + Data []IpsecTunnelResultItem `json:"data,omitempty"` +} + +func (o *IpsecPatchResponse200) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *IpsecPatchResponse200) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} + +func (o *IpsecPatchResponse200) GetData() []IpsecTunnelResultItem { + if o == nil { + return nil + } + return o.Data +} diff --git a/internal/sdk/pkg/models/shared/ipsecpopresponse200.go b/internal/sdk/pkg/models/shared/ipsecpopresponse200.go new file mode 100644 index 0000000..1f1a820 --- /dev/null +++ b/internal/sdk/pkg/models/shared/ipsecpopresponse200.go @@ -0,0 +1,30 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type IpsecPopResponse200 struct { + Status *int64 `json:"status,omitempty"` + Total *int64 `json:"total,omitempty"` + Result []IpsecPopResultItem `json:"result,omitempty"` +} + +func (o *IpsecPopResponse200) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *IpsecPopResponse200) GetTotal() *int64 { + if o == nil { + return nil + } + return o.Total +} + +func (o *IpsecPopResponse200) GetResult() []IpsecPopResultItem { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/ipsecpopresultitem.go b/internal/sdk/pkg/models/shared/ipsecpopresultitem.go new file mode 100644 index 0000000..912585a --- /dev/null +++ b/internal/sdk/pkg/models/shared/ipsecpopresultitem.go @@ -0,0 +1,199 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type Phase1 struct { + Ikeversion *string `json:"ikeversion,omitempty"` + Encryptionalgo *string `json:"encryptionalgo,omitempty"` + Integrityalgo *string `json:"integrityalgo,omitempty"` + Dhgroup *string `json:"dhgroup,omitempty"` + Salifetime *string `json:"salifetime,omitempty"` + Dpd *bool `json:"dpd,omitempty"` +} + +func (o *Phase1) GetIkeversion() *string { + if o == nil { + return nil + } + return o.Ikeversion +} + +func (o *Phase1) GetEncryptionalgo() *string { + if o == nil { + return nil + } + return o.Encryptionalgo +} + +func (o *Phase1) GetIntegrityalgo() *string { + if o == nil { + return nil + } + return o.Integrityalgo +} + +func (o *Phase1) GetDhgroup() *string { + if o == nil { + return nil + } + return o.Dhgroup +} + +func (o *Phase1) GetSalifetime() *string { + if o == nil { + return nil + } + return o.Salifetime +} + +func (o *Phase1) GetDpd() *bool { + if o == nil { + return nil + } + return o.Dpd +} + +type Phase2 struct { + Encryptionalgo *string `json:"encryptionalgo,omitempty"` + Integrityalgo *string `json:"integrityalgo,omitempty"` + Dhgroup *string `json:"dhgroup,omitempty"` + Salifetime *string `json:"salifetime,omitempty"` + Pfs *bool `json:"pfs,omitempty"` +} + +func (o *Phase2) GetEncryptionalgo() *string { + if o == nil { + return nil + } + return o.Encryptionalgo +} + +func (o *Phase2) GetIntegrityalgo() *string { + if o == nil { + return nil + } + return o.Integrityalgo +} + +func (o *Phase2) GetDhgroup() *string { + if o == nil { + return nil + } + return o.Dhgroup +} + +func (o *Phase2) GetSalifetime() *string { + if o == nil { + return nil + } + return o.Salifetime +} + +func (o *Phase2) GetPfs() *bool { + if o == nil { + return nil + } + return o.Pfs +} + +type IpsecPopResultItemOptions struct { + Phase1 *Phase1 `json:"phase1,omitempty"` + Phase2 *Phase2 `json:"phase2,omitempty"` +} + +func (o *IpsecPopResultItemOptions) GetPhase1() *Phase1 { + if o == nil { + return nil + } + return o.Phase1 +} + +func (o *IpsecPopResultItemOptions) GetPhase2() *Phase2 { + if o == nil { + return nil + } + return o.Phase2 +} + +type IpsecPopResultItem struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Region *string `json:"region,omitempty"` + Location *string `json:"location,omitempty"` + Gateway *string `json:"gateway,omitempty"` + Probeip *string `json:"probeip,omitempty"` + Options *IpsecPopResultItemOptions `json:"options,omitempty"` + Distance *string `json:"distance,omitempty"` + Acceptingtunnels *bool `json:"acceptingtunnels,omitempty"` + Bandwidth *string `json:"bandwidth,omitempty"` +} + +func (o *IpsecPopResultItem) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *IpsecPopResultItem) GetName() *string { + if o == nil { + return nil + } + return o.Name +} + +func (o *IpsecPopResultItem) GetRegion() *string { + if o == nil { + return nil + } + return o.Region +} + +func (o *IpsecPopResultItem) GetLocation() *string { + if o == nil { + return nil + } + return o.Location +} + +func (o *IpsecPopResultItem) GetGateway() *string { + if o == nil { + return nil + } + return o.Gateway +} + +func (o *IpsecPopResultItem) GetProbeip() *string { + if o == nil { + return nil + } + return o.Probeip +} + +func (o *IpsecPopResultItem) GetOptions() *IpsecPopResultItemOptions { + if o == nil { + return nil + } + return o.Options +} + +func (o *IpsecPopResultItem) GetDistance() *string { + if o == nil { + return nil + } + return o.Distance +} + +func (o *IpsecPopResultItem) GetAcceptingtunnels() *bool { + if o == nil { + return nil + } + return o.Acceptingtunnels +} + +func (o *IpsecPopResultItem) GetBandwidth() *string { + if o == nil { + return nil + } + return o.Bandwidth +} diff --git a/internal/sdk/pkg/models/shared/ipsecresponse200.go b/internal/sdk/pkg/models/shared/ipsecresponse200.go new file mode 100644 index 0000000..5c1c67b --- /dev/null +++ b/internal/sdk/pkg/models/shared/ipsecresponse200.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type IpsecResponse200 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` +} + +func (o *IpsecResponse200) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *IpsecResponse200) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/ipsecresponse201.go b/internal/sdk/pkg/models/shared/ipsecresponse201.go new file mode 100644 index 0000000..a2192b9 --- /dev/null +++ b/internal/sdk/pkg/models/shared/ipsecresponse201.go @@ -0,0 +1,30 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type IpsecResponse201 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` + Data []IpsecTunnelResultItem `json:"data,omitempty"` +} + +func (o *IpsecResponse201) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *IpsecResponse201) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} + +func (o *IpsecResponse201) GetData() []IpsecTunnelResultItem { + if o == nil { + return nil + } + return o.Data +} diff --git a/internal/sdk/pkg/models/shared/ipsecresponse400.go b/internal/sdk/pkg/models/shared/ipsecresponse400.go new file mode 100644 index 0000000..91b932c --- /dev/null +++ b/internal/sdk/pkg/models/shared/ipsecresponse400.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type IpsecResponse400 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` +} + +func (o *IpsecResponse400) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *IpsecResponse400) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/ipsecresponse403.go b/internal/sdk/pkg/models/shared/ipsecresponse403.go new file mode 100644 index 0000000..0eb38c5 --- /dev/null +++ b/internal/sdk/pkg/models/shared/ipsecresponse403.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type IpsecResponse403 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` +} + +func (o *IpsecResponse403) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *IpsecResponse403) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/ipsecresponse404.go b/internal/sdk/pkg/models/shared/ipsecresponse404.go new file mode 100644 index 0000000..8a90370 --- /dev/null +++ b/internal/sdk/pkg/models/shared/ipsecresponse404.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type IpsecResponse404 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` +} + +func (o *IpsecResponse404) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *IpsecResponse404) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/ipsecresponse405.go b/internal/sdk/pkg/models/shared/ipsecresponse405.go new file mode 100644 index 0000000..dab99ca --- /dev/null +++ b/internal/sdk/pkg/models/shared/ipsecresponse405.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type IpsecResponse405 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` +} + +func (o *IpsecResponse405) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *IpsecResponse405) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/ipsecresponse409.go b/internal/sdk/pkg/models/shared/ipsecresponse409.go new file mode 100644 index 0000000..7cf8aee --- /dev/null +++ b/internal/sdk/pkg/models/shared/ipsecresponse409.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type IpsecResponse409 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` +} + +func (o *IpsecResponse409) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *IpsecResponse409) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/ipsecresponse429.go b/internal/sdk/pkg/models/shared/ipsecresponse429.go new file mode 100644 index 0000000..f1d4e62 --- /dev/null +++ b/internal/sdk/pkg/models/shared/ipsecresponse429.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type IpsecResponse429 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` +} + +func (o *IpsecResponse429) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *IpsecResponse429) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/ipsecresponse500.go b/internal/sdk/pkg/models/shared/ipsecresponse500.go new file mode 100644 index 0000000..f76975f --- /dev/null +++ b/internal/sdk/pkg/models/shared/ipsecresponse500.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type IpsecResponse500 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` +} + +func (o *IpsecResponse500) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *IpsecResponse500) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/ipsectunnelpopresultitem.go b/internal/sdk/pkg/models/shared/ipsectunnelpopresultitem.go new file mode 100644 index 0000000..64970b0 --- /dev/null +++ b/internal/sdk/pkg/models/shared/ipsectunnelpopresultitem.go @@ -0,0 +1,62 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type IpsecTunnelPopResultItem struct { + Name *string `json:"name,omitempty"` + Gateway *string `json:"gateway,omitempty"` + Probeip *string `json:"probeip,omitempty"` + Primary *bool `json:"primary,omitempty"` + Status *string `json:"status,omitempty"` + Since *string `json:"since,omitempty"` + Throughput *string `json:"throughput,omitempty"` +} + +func (o *IpsecTunnelPopResultItem) GetName() *string { + if o == nil { + return nil + } + return o.Name +} + +func (o *IpsecTunnelPopResultItem) GetGateway() *string { + if o == nil { + return nil + } + return o.Gateway +} + +func (o *IpsecTunnelPopResultItem) GetProbeip() *string { + if o == nil { + return nil + } + return o.Probeip +} + +func (o *IpsecTunnelPopResultItem) GetPrimary() *bool { + if o == nil { + return nil + } + return o.Primary +} + +func (o *IpsecTunnelPopResultItem) GetStatus() *string { + if o == nil { + return nil + } + return o.Status +} + +func (o *IpsecTunnelPopResultItem) GetSince() *string { + if o == nil { + return nil + } + return o.Since +} + +func (o *IpsecTunnelPopResultItem) GetThroughput() *string { + if o == nil { + return nil + } + return o.Throughput +} diff --git a/internal/sdk/pkg/models/shared/ipsectunnelrequestpatch.go b/internal/sdk/pkg/models/shared/ipsectunnelrequestpatch.go new file mode 100644 index 0000000..9b03a65 --- /dev/null +++ b/internal/sdk/pkg/models/shared/ipsectunnelrequestpatch.go @@ -0,0 +1,156 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type IpsecTunnelRequestPatchXff struct { + Enable *bool `json:"enable,omitempty"` + Iplist []string `json:"iplist,omitempty"` +} + +func (o *IpsecTunnelRequestPatchXff) GetEnable() *bool { + if o == nil { + return nil + } + return o.Enable +} + +func (o *IpsecTunnelRequestPatchXff) GetIplist() []string { + if o == nil { + return nil + } + return o.Iplist +} + +type IpsecTunnelRequestPatchOptions struct { + Rekey *bool `json:"rekey,omitempty"` + Reauth *bool `json:"reauth,omitempty"` + Xff *IpsecTunnelRequestPatchXff `json:"xff,omitempty"` +} + +func (o *IpsecTunnelRequestPatchOptions) GetRekey() *bool { + if o == nil { + return nil + } + return o.Rekey +} + +func (o *IpsecTunnelRequestPatchOptions) GetReauth() *bool { + if o == nil { + return nil + } + return o.Reauth +} + +func (o *IpsecTunnelRequestPatchOptions) GetXff() *IpsecTunnelRequestPatchXff { + if o == nil { + return nil + } + return o.Xff +} + +type IpsecTunnelRequestPatch struct { + Encryption *string `json:"encryption,omitempty"` + Site *string `json:"site,omitempty"` + Srcidentity *string `json:"srcidentity,omitempty"` + Psk *string `json:"psk,omitempty"` + Srcipidentity *string `json:"srcipidentity,omitempty"` + Pops []string `json:"pops,omitempty"` + Bandwidth *int64 `json:"bandwidth,omitempty"` + Notes *string `json:"notes,omitempty"` + Vendor *string `json:"vendor,omitempty"` + Sourcetype *string `json:"sourcetype,omitempty"` + Template *string `json:"template,omitempty"` + Enable *bool `json:"enable,omitempty"` + Options *IpsecTunnelRequestPatchOptions `json:"options,omitempty"` +} + +func (o *IpsecTunnelRequestPatch) GetEncryption() *string { + if o == nil { + return nil + } + return o.Encryption +} + +func (o *IpsecTunnelRequestPatch) GetSite() *string { + if o == nil { + return nil + } + return o.Site +} + +func (o *IpsecTunnelRequestPatch) GetSrcidentity() *string { + if o == nil { + return nil + } + return o.Srcidentity +} + +func (o *IpsecTunnelRequestPatch) GetPsk() *string { + if o == nil { + return nil + } + return o.Psk +} + +func (o *IpsecTunnelRequestPatch) GetSrcipidentity() *string { + if o == nil { + return nil + } + return o.Srcipidentity +} + +func (o *IpsecTunnelRequestPatch) GetPops() []string { + if o == nil { + return nil + } + return o.Pops +} + +func (o *IpsecTunnelRequestPatch) GetBandwidth() *int64 { + if o == nil { + return nil + } + return o.Bandwidth +} + +func (o *IpsecTunnelRequestPatch) GetNotes() *string { + if o == nil { + return nil + } + return o.Notes +} + +func (o *IpsecTunnelRequestPatch) GetVendor() *string { + if o == nil { + return nil + } + return o.Vendor +} + +func (o *IpsecTunnelRequestPatch) GetSourcetype() *string { + if o == nil { + return nil + } + return o.Sourcetype +} + +func (o *IpsecTunnelRequestPatch) GetTemplate() *string { + if o == nil { + return nil + } + return o.Template +} + +func (o *IpsecTunnelRequestPatch) GetEnable() *bool { + if o == nil { + return nil + } + return o.Enable +} + +func (o *IpsecTunnelRequestPatch) GetOptions() *IpsecTunnelRequestPatchOptions { + if o == nil { + return nil + } + return o.Options +} diff --git a/internal/sdk/pkg/models/shared/ipsectunnelrequestpost.go b/internal/sdk/pkg/models/shared/ipsectunnelrequestpost.go new file mode 100644 index 0000000..331e3c5 --- /dev/null +++ b/internal/sdk/pkg/models/shared/ipsectunnelrequestpost.go @@ -0,0 +1,156 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type IpsecTunnelRequestPostXff struct { + Enable *bool `json:"enable,omitempty"` + Iplist []string `json:"iplist,omitempty"` +} + +func (o *IpsecTunnelRequestPostXff) GetEnable() *bool { + if o == nil { + return nil + } + return o.Enable +} + +func (o *IpsecTunnelRequestPostXff) GetIplist() []string { + if o == nil { + return nil + } + return o.Iplist +} + +type IpsecTunnelRequestPostOptions struct { + Rekey *bool `json:"rekey,omitempty"` + Reauth *bool `json:"reauth,omitempty"` + Xff *IpsecTunnelRequestPostXff `json:"xff,omitempty"` +} + +func (o *IpsecTunnelRequestPostOptions) GetRekey() *bool { + if o == nil { + return nil + } + return o.Rekey +} + +func (o *IpsecTunnelRequestPostOptions) GetReauth() *bool { + if o == nil { + return nil + } + return o.Reauth +} + +func (o *IpsecTunnelRequestPostOptions) GetXff() *IpsecTunnelRequestPostXff { + if o == nil { + return nil + } + return o.Xff +} + +type IpsecTunnelRequestPost struct { + Encryption *string `json:"encryption,omitempty"` + Site *string `json:"site,omitempty"` + Srcidentity *string `json:"srcidentity,omitempty"` + Psk *string `json:"psk,omitempty"` + Srcipidentity *string `json:"srcipidentity,omitempty"` + Pops []string `json:"pops,omitempty"` + Bandwidth *int64 `json:"bandwidth,omitempty"` + Notes *string `json:"notes,omitempty"` + Vendor *string `json:"vendor,omitempty"` + Sourcetype *string `json:"sourcetype,omitempty"` + Template *string `json:"template,omitempty"` + Enable *bool `json:"enable,omitempty"` + Options *IpsecTunnelRequestPostOptions `json:"options,omitempty"` +} + +func (o *IpsecTunnelRequestPost) GetEncryption() *string { + if o == nil { + return nil + } + return o.Encryption +} + +func (o *IpsecTunnelRequestPost) GetSite() *string { + if o == nil { + return nil + } + return o.Site +} + +func (o *IpsecTunnelRequestPost) GetSrcidentity() *string { + if o == nil { + return nil + } + return o.Srcidentity +} + +func (o *IpsecTunnelRequestPost) GetPsk() *string { + if o == nil { + return nil + } + return o.Psk +} + +func (o *IpsecTunnelRequestPost) GetSrcipidentity() *string { + if o == nil { + return nil + } + return o.Srcipidentity +} + +func (o *IpsecTunnelRequestPost) GetPops() []string { + if o == nil { + return nil + } + return o.Pops +} + +func (o *IpsecTunnelRequestPost) GetBandwidth() *int64 { + if o == nil { + return nil + } + return o.Bandwidth +} + +func (o *IpsecTunnelRequestPost) GetNotes() *string { + if o == nil { + return nil + } + return o.Notes +} + +func (o *IpsecTunnelRequestPost) GetVendor() *string { + if o == nil { + return nil + } + return o.Vendor +} + +func (o *IpsecTunnelRequestPost) GetSourcetype() *string { + if o == nil { + return nil + } + return o.Sourcetype +} + +func (o *IpsecTunnelRequestPost) GetTemplate() *string { + if o == nil { + return nil + } + return o.Template +} + +func (o *IpsecTunnelRequestPost) GetEnable() *bool { + if o == nil { + return nil + } + return o.Enable +} + +func (o *IpsecTunnelRequestPost) GetOptions() *IpsecTunnelRequestPostOptions { + if o == nil { + return nil + } + return o.Options +} diff --git a/internal/sdk/pkg/models/shared/ipsectunnelresponse200.go b/internal/sdk/pkg/models/shared/ipsectunnelresponse200.go new file mode 100644 index 0000000..086a8f4 --- /dev/null +++ b/internal/sdk/pkg/models/shared/ipsectunnelresponse200.go @@ -0,0 +1,30 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type IpsecTunnelResponse200 struct { + Status *int64 `json:"status,omitempty"` + Total *int64 `json:"total,omitempty"` + Result []IpsecTunnelResultItem `json:"result,omitempty"` +} + +func (o *IpsecTunnelResponse200) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *IpsecTunnelResponse200) GetTotal() *int64 { + if o == nil { + return nil + } + return o.Total +} + +func (o *IpsecTunnelResponse200) GetResult() []IpsecTunnelResultItem { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/ipsectunnelresultitem.go b/internal/sdk/pkg/models/shared/ipsectunnelresultitem.go new file mode 100644 index 0000000..f046ee4 --- /dev/null +++ b/internal/sdk/pkg/models/shared/ipsectunnelresultitem.go @@ -0,0 +1,164 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type IpsecTunnelResultItemXff struct { + Enabled *bool `json:"enabled,omitempty"` + Iplist []string `json:"iplist,omitempty"` +} + +func (o *IpsecTunnelResultItemXff) GetEnabled() *bool { + if o == nil { + return nil + } + return o.Enabled +} + +func (o *IpsecTunnelResultItemXff) GetIplist() []string { + if o == nil { + return nil + } + return o.Iplist +} + +type IpsecTunnelResultItemOptions struct { + Rekey *bool `json:"rekey,omitempty"` + Reauth *bool `json:"reauth,omitempty"` + Xff *IpsecTunnelResultItemXff `json:"xff,omitempty"` +} + +func (o *IpsecTunnelResultItemOptions) GetRekey() *bool { + if o == nil { + return nil + } + return o.Rekey +} + +func (o *IpsecTunnelResultItemOptions) GetReauth() *bool { + if o == nil { + return nil + } + return o.Reauth +} + +func (o *IpsecTunnelResultItemOptions) GetXff() *IpsecTunnelResultItemXff { + if o == nil { + return nil + } + return o.Xff +} + +type IpsecTunnelResultItem struct { + ID *int64 `json:"id,omitempty"` + Site *string `json:"site,omitempty"` + Template *string `json:"template,omitempty"` + Sourcetype *string `json:"sourcetype,omitempty"` + Notes *string `json:"notes,omitempty"` + Vendor *string `json:"vendor,omitempty"` + Encryption *string `json:"encryption,omitempty"` + Srcidentity *string `json:"srcidentity,omitempty"` + Srcipidentity *string `json:"srcipidentity,omitempty"` + Pops []IpsecTunnelPopResultItem `json:"pops,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + Bandwidth *int64 `json:"bandwidth,omitempty"` + Options *IpsecTunnelResultItemOptions `json:"options,omitempty"` + Version *int64 `json:"version,omitempty"` +} + +func (o *IpsecTunnelResultItem) GetID() *int64 { + if o == nil { + return nil + } + return o.ID +} + +func (o *IpsecTunnelResultItem) GetSite() *string { + if o == nil { + return nil + } + return o.Site +} + +func (o *IpsecTunnelResultItem) GetTemplate() *string { + if o == nil { + return nil + } + return o.Template +} + +func (o *IpsecTunnelResultItem) GetSourcetype() *string { + if o == nil { + return nil + } + return o.Sourcetype +} + +func (o *IpsecTunnelResultItem) GetNotes() *string { + if o == nil { + return nil + } + return o.Notes +} + +func (o *IpsecTunnelResultItem) GetVendor() *string { + if o == nil { + return nil + } + return o.Vendor +} + +func (o *IpsecTunnelResultItem) GetEncryption() *string { + if o == nil { + return nil + } + return o.Encryption +} + +func (o *IpsecTunnelResultItem) GetSrcidentity() *string { + if o == nil { + return nil + } + return o.Srcidentity +} + +func (o *IpsecTunnelResultItem) GetSrcipidentity() *string { + if o == nil { + return nil + } + return o.Srcipidentity +} + +func (o *IpsecTunnelResultItem) GetPops() []IpsecTunnelPopResultItem { + if o == nil { + return nil + } + return o.Pops +} + +func (o *IpsecTunnelResultItem) GetEnabled() *bool { + if o == nil { + return nil + } + return o.Enabled +} + +func (o *IpsecTunnelResultItem) GetBandwidth() *int64 { + if o == nil { + return nil + } + return o.Bandwidth +} + +func (o *IpsecTunnelResultItem) GetOptions() *IpsecTunnelResultItemOptions { + if o == nil { + return nil + } + return o.Options +} + +func (o *IpsecTunnelResultItem) GetVersion() *int64 { + if o == nil { + return nil + } + return o.Version +} diff --git a/internal/sdk/pkg/models/shared/npapolicygrouprequest.go b/internal/sdk/pkg/models/shared/npapolicygrouprequest.go new file mode 100644 index 0000000..ea86e25 --- /dev/null +++ b/internal/sdk/pkg/models/shared/npapolicygrouprequest.go @@ -0,0 +1,73 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +import ( + "encoding/json" + "fmt" +) + +type NpaPolicygroupRequestOrder string + +const ( + NpaPolicygroupRequestOrderBefore NpaPolicygroupRequestOrder = "before" + NpaPolicygroupRequestOrderAfter NpaPolicygroupRequestOrder = "after" +) + +func (e NpaPolicygroupRequestOrder) ToPointer() *NpaPolicygroupRequestOrder { + return &e +} + +func (e *NpaPolicygroupRequestOrder) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "before": + fallthrough + case "after": + *e = NpaPolicygroupRequestOrder(v) + return nil + default: + return fmt.Errorf("invalid value for NpaPolicygroupRequestOrder: %v", v) + } +} + +type GroupOrder struct { + Order NpaPolicygroupRequestOrder `json:"order"` + GroupID string `json:"group_id"` +} + +func (o *GroupOrder) GetOrder() NpaPolicygroupRequestOrder { + if o == nil { + return NpaPolicygroupRequestOrder("") + } + return o.Order +} + +func (o *GroupOrder) GetGroupID() string { + if o == nil { + return "" + } + return o.GroupID +} + +type NpaPolicygroupRequest struct { + GroupName string `json:"group_name"` + GroupOrder GroupOrder `json:"group_order"` +} + +func (o *NpaPolicygroupRequest) GetGroupName() string { + if o == nil { + return "" + } + return o.GroupName +} + +func (o *NpaPolicygroupRequest) GetGroupOrder() GroupOrder { + if o == nil { + return GroupOrder{} + } + return o.GroupOrder +} diff --git a/internal/sdk/pkg/models/shared/npapolicygroupresponse.go b/internal/sdk/pkg/models/shared/npapolicygroupresponse.go new file mode 100644 index 0000000..8bce9fa --- /dev/null +++ b/internal/sdk/pkg/models/shared/npapolicygroupresponse.go @@ -0,0 +1,14 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type NpaPolicygroupResponse struct { + Data []NpaPolicygroupResponseItem `json:"data,omitempty"` +} + +func (o *NpaPolicygroupResponse) GetData() []NpaPolicygroupResponseItem { + if o == nil { + return nil + } + return o.Data +} diff --git a/internal/sdk/pkg/models/shared/npapolicygroupresponse400.go b/internal/sdk/pkg/models/shared/npapolicygroupresponse400.go new file mode 100644 index 0000000..96e3c7b --- /dev/null +++ b/internal/sdk/pkg/models/shared/npapolicygroupresponse400.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type NpaPolicygroupResponse400 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` +} + +func (o *NpaPolicygroupResponse400) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *NpaPolicygroupResponse400) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/npapolicygroupresponseitem.go b/internal/sdk/pkg/models/shared/npapolicygroupresponseitem.go new file mode 100644 index 0000000..329a905 --- /dev/null +++ b/internal/sdk/pkg/models/shared/npapolicygroupresponseitem.go @@ -0,0 +1,70 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type NpaPolicygroupResponseItem struct { + GroupID *string `json:"group_id,omitempty"` + GroupName *string `json:"group_name,omitempty"` + ModifyType *string `json:"modify_type,omitempty"` + ModifyTime *string `json:"modify_time,omitempty"` + CanBeEditedDeleted *string `json:"can_be_edited_deleted,omitempty"` + GroupType *string `json:"group_type,omitempty"` + GroupProdID *int64 `json:"group_prod_id,omitempty"` + GroupPinnedID *int64 `json:"group_pinned_id,omitempty"` +} + +func (o *NpaPolicygroupResponseItem) GetGroupID() *string { + if o == nil { + return nil + } + return o.GroupID +} + +func (o *NpaPolicygroupResponseItem) GetGroupName() *string { + if o == nil { + return nil + } + return o.GroupName +} + +func (o *NpaPolicygroupResponseItem) GetModifyType() *string { + if o == nil { + return nil + } + return o.ModifyType +} + +func (o *NpaPolicygroupResponseItem) GetModifyTime() *string { + if o == nil { + return nil + } + return o.ModifyTime +} + +func (o *NpaPolicygroupResponseItem) GetCanBeEditedDeleted() *string { + if o == nil { + return nil + } + return o.CanBeEditedDeleted +} + +func (o *NpaPolicygroupResponseItem) GetGroupType() *string { + if o == nil { + return nil + } + return o.GroupType +} + +func (o *NpaPolicygroupResponseItem) GetGroupProdID() *int64 { + if o == nil { + return nil + } + return o.GroupProdID +} + +func (o *NpaPolicygroupResponseItem) GetGroupPinnedID() *int64 { + if o == nil { + return nil + } + return o.GroupPinnedID +} diff --git a/internal/sdk/pkg/models/shared/privateappsgetresponse.go b/internal/sdk/pkg/models/shared/privateappsgetresponse.go new file mode 100644 index 0000000..99ce960 --- /dev/null +++ b/internal/sdk/pkg/models/shared/privateappsgetresponse.go @@ -0,0 +1,73 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +import ( + "encoding/json" + "fmt" +) + +type PrivateAppsGetResponseStatus string + +const ( + PrivateAppsGetResponseStatusSuccess PrivateAppsGetResponseStatus = "success" + PrivateAppsGetResponseStatusNotFound PrivateAppsGetResponseStatus = "not found" +) + +func (e PrivateAppsGetResponseStatus) ToPointer() *PrivateAppsGetResponseStatus { + return &e +} + +func (e *PrivateAppsGetResponseStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "success": + fallthrough + case "not found": + *e = PrivateAppsGetResponseStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PrivateAppsGetResponseStatus: %v", v) + } +} + +type PrivateAppsGetResponseData struct { + PrivateApps []interface{} `json:"private_apps,omitempty"` +} + +func (o *PrivateAppsGetResponseData) GetPrivateApps() []interface{} { + if o == nil { + return nil + } + return o.PrivateApps +} + +type PrivateAppsGetResponse struct { + Status *PrivateAppsGetResponseStatus `json:"status,omitempty"` + Data *PrivateAppsGetResponseData `json:"data,omitempty"` + Total *int `json:"total,omitempty"` +} + +func (o *PrivateAppsGetResponse) GetStatus() *PrivateAppsGetResponseStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *PrivateAppsGetResponse) GetData() *PrivateAppsGetResponseData { + if o == nil { + return nil + } + return o.Data +} + +func (o *PrivateAppsGetResponse) GetTotal() *int { + if o == nil { + return nil + } + return o.Total +} diff --git a/internal/sdk/pkg/models/shared/privateappsputrequest.go b/internal/sdk/pkg/models/shared/privateappsputrequest.go new file mode 100644 index 0000000..a517d47 --- /dev/null +++ b/internal/sdk/pkg/models/shared/privateappsputrequest.go @@ -0,0 +1,94 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type PrivateAppsPutRequest struct { + ID *int `json:"id,omitempty"` + AppName *string `json:"app_name,omitempty"` + Host *string `json:"host,omitempty"` + RealHost *string `json:"real_host,omitempty"` + Protocols []ProtocolItem `json:"protocols,omitempty"` + Publishers []PublisherItem `json:"publishers,omitempty"` + PublisherTags []TagItemNoID `json:"publisher_tags,omitempty"` + Tags []TagItemNoID `json:"tags,omitempty"` + UsePublisherDNS *bool `json:"use_publisher_dns,omitempty"` + ClientlessAccess *bool `json:"clientless_access,omitempty"` + TrustSelfSignedCerts *bool `json:"trust_self_signed_certs,omitempty"` +} + +func (o *PrivateAppsPutRequest) GetID() *int { + if o == nil { + return nil + } + return o.ID +} + +func (o *PrivateAppsPutRequest) GetAppName() *string { + if o == nil { + return nil + } + return o.AppName +} + +func (o *PrivateAppsPutRequest) GetHost() *string { + if o == nil { + return nil + } + return o.Host +} + +func (o *PrivateAppsPutRequest) GetRealHost() *string { + if o == nil { + return nil + } + return o.RealHost +} + +func (o *PrivateAppsPutRequest) GetProtocols() []ProtocolItem { + if o == nil { + return nil + } + return o.Protocols +} + +func (o *PrivateAppsPutRequest) GetPublishers() []PublisherItem { + if o == nil { + return nil + } + return o.Publishers +} + +func (o *PrivateAppsPutRequest) GetPublisherTags() []TagItemNoID { + if o == nil { + return nil + } + return o.PublisherTags +} + +func (o *PrivateAppsPutRequest) GetTags() []TagItemNoID { + if o == nil { + return nil + } + return o.Tags +} + +func (o *PrivateAppsPutRequest) GetUsePublisherDNS() *bool { + if o == nil { + return nil + } + return o.UsePublisherDNS +} + +func (o *PrivateAppsPutRequest) GetClientlessAccess() *bool { + if o == nil { + return nil + } + return o.ClientlessAccess +} + +func (o *PrivateAppsPutRequest) GetTrustSelfSignedCerts() *bool { + if o == nil { + return nil + } + return o.TrustSelfSignedCerts +} diff --git a/internal/sdk/pkg/models/shared/privateappsrequest.go b/internal/sdk/pkg/models/shared/privateappsrequest.go new file mode 100644 index 0000000..b6a317e --- /dev/null +++ b/internal/sdk/pkg/models/shared/privateappsrequest.go @@ -0,0 +1,86 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type PrivateAppsRequest struct { + AppName *string `json:"app_name,omitempty"` + Host *string `json:"host,omitempty"` + RealHost *string `json:"real_host,omitempty"` + Protocols []ProtocolItem `json:"protocols,omitempty"` + Publishers []PublisherItem `json:"publishers,omitempty"` + PublisherTags []TagItemNoID `json:"publisher_tags,omitempty"` + Tags []TagItemNoID `json:"tags,omitempty"` + UsePublisherDNS *bool `json:"use_publisher_dns,omitempty"` + ClientlessAccess *bool `json:"clientless_access,omitempty"` + TrustSelfSignedCerts *bool `json:"trust_self_signed_certs,omitempty"` +} + +func (o *PrivateAppsRequest) GetAppName() *string { + if o == nil { + return nil + } + return o.AppName +} + +func (o *PrivateAppsRequest) GetHost() *string { + if o == nil { + return nil + } + return o.Host +} + +func (o *PrivateAppsRequest) GetRealHost() *string { + if o == nil { + return nil + } + return o.RealHost +} + +func (o *PrivateAppsRequest) GetProtocols() []ProtocolItem { + if o == nil { + return nil + } + return o.Protocols +} + +func (o *PrivateAppsRequest) GetPublishers() []PublisherItem { + if o == nil { + return nil + } + return o.Publishers +} + +func (o *PrivateAppsRequest) GetPublisherTags() []TagItemNoID { + if o == nil { + return nil + } + return o.PublisherTags +} + +func (o *PrivateAppsRequest) GetTags() []TagItemNoID { + if o == nil { + return nil + } + return o.Tags +} + +func (o *PrivateAppsRequest) GetUsePublisherDNS() *bool { + if o == nil { + return nil + } + return o.UsePublisherDNS +} + +func (o *PrivateAppsRequest) GetClientlessAccess() *bool { + if o == nil { + return nil + } + return o.ClientlessAccess +} + +func (o *PrivateAppsRequest) GetTrustSelfSignedCerts() *bool { + if o == nil { + return nil + } + return o.TrustSelfSignedCerts +} diff --git a/internal/sdk/pkg/models/shared/privateappsresponse.go b/internal/sdk/pkg/models/shared/privateappsresponse.go new file mode 100644 index 0000000..75531f6 --- /dev/null +++ b/internal/sdk/pkg/models/shared/privateappsresponse.go @@ -0,0 +1,97 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type PrivateAppsResponseData struct { + ID *int `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + UsePublisherDNS *bool `json:"use_publisher_dns,omitempty"` + ClientlessAccess *bool `json:"clientless_access,omitempty"` + TrustSelfSignedCerts *bool `json:"trust_self_signed_certs,omitempty"` + Host *string `json:"host,omitempty"` + RealHost *string `json:"real_host,omitempty"` + ResolvedProtocols []ProtocolResponseItem `json:"protocols,omitempty"` + Tags []TagItem `json:"tags,omitempty"` + ServicePublisherAssignments []ServicePublisherAssignmentItem `json:"service_publisher_assignments,omitempty"` +} + +func (o *PrivateAppsResponseData) GetID() *int { + if o == nil { + return nil + } + return o.ID +} + +func (o *PrivateAppsResponseData) GetName() *string { + if o == nil { + return nil + } + return o.Name +} + +func (o *PrivateAppsResponseData) GetUsePublisherDNS() *bool { + if o == nil { + return nil + } + return o.UsePublisherDNS +} + +func (o *PrivateAppsResponseData) GetClientlessAccess() *bool { + if o == nil { + return nil + } + return o.ClientlessAccess +} + +func (o *PrivateAppsResponseData) GetTrustSelfSignedCerts() *bool { + if o == nil { + return nil + } + return o.TrustSelfSignedCerts +} + +func (o *PrivateAppsResponseData) GetHost() *string { + if o == nil { + return nil + } + return o.Host +} + +func (o *PrivateAppsResponseData) GetRealHost() *string { + if o == nil { + return nil + } + return o.RealHost +} + +func (o *PrivateAppsResponseData) GetResolvedProtocols() []ProtocolResponseItem { + if o == nil { + return nil + } + return o.ResolvedProtocols +} + +func (o *PrivateAppsResponseData) GetTags() []TagItem { + if o == nil { + return nil + } + return o.Tags +} + +func (o *PrivateAppsResponseData) GetServicePublisherAssignments() []ServicePublisherAssignmentItem { + if o == nil { + return nil + } + return o.ServicePublisherAssignments +} + +type PrivateAppsResponse struct { + Data *PrivateAppsResponseData `json:"data,omitempty"` +} + +func (o *PrivateAppsResponse) GetData() *PrivateAppsResponseData { + if o == nil { + return nil + } + return o.Data +} diff --git a/internal/sdk/pkg/models/shared/privateappsresponse400.go b/internal/sdk/pkg/models/shared/privateappsresponse400.go new file mode 100644 index 0000000..a622e14 --- /dev/null +++ b/internal/sdk/pkg/models/shared/privateappsresponse400.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type PrivateAppsResponse400 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` +} + +func (o *PrivateAppsResponse400) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *PrivateAppsResponse400) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/protocolitem.go b/internal/sdk/pkg/models/shared/protocolitem.go new file mode 100644 index 0000000..d4ec20b --- /dev/null +++ b/internal/sdk/pkg/models/shared/protocolitem.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type ProtocolItem struct { + Type *string `json:"type,omitempty"` + Port *string `json:"port,omitempty"` +} + +func (o *ProtocolItem) GetType() *string { + if o == nil { + return nil + } + return o.Type +} + +func (o *ProtocolItem) GetPort() *string { + if o == nil { + return nil + } + return o.Port +} diff --git a/internal/sdk/pkg/models/shared/protocolresponseitem.go b/internal/sdk/pkg/models/shared/protocolresponseitem.go index 8da84ad..e878d52 100644 --- a/internal/sdk/pkg/models/shared/protocolresponseitem.go +++ b/internal/sdk/pkg/models/shared/protocolresponseitem.go @@ -3,17 +3,8 @@ package shared type ProtocolResponseItem struct { - ID *int `json:"id,omitempty"` Port *string `json:"port,omitempty"` Transport *string `json:"transport,omitempty"` - ServiceID *int `json:"service_id,omitempty"` -} - -func (o *ProtocolResponseItem) GetID() *int { - if o == nil { - return nil - } - return o.ID } func (o *ProtocolResponseItem) GetPort() *string { @@ -29,10 +20,3 @@ func (o *ProtocolResponseItem) GetTransport() *string { } return o.Transport } - -func (o *ProtocolResponseItem) GetServiceID() *int { - if o == nil { - return nil - } - return o.ServiceID -} diff --git a/internal/sdk/pkg/models/shared/publisheritem.go b/internal/sdk/pkg/models/shared/publisheritem.go new file mode 100644 index 0000000..03e1424 --- /dev/null +++ b/internal/sdk/pkg/models/shared/publisheritem.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type PublisherItem struct { + PublisherID *string `json:"publisher_id,omitempty"` + PublisherName *string `json:"publisher_name,omitempty"` +} + +func (o *PublisherItem) GetPublisherID() *string { + if o == nil { + return nil + } + return o.PublisherID +} + +func (o *PublisherItem) GetPublisherName() *string { + if o == nil { + return nil + } + return o.PublisherName +} diff --git a/internal/sdk/pkg/models/shared/publisherupgradeprofilebulkrequest.go b/internal/sdk/pkg/models/shared/publisherupgradeprofilebulkrequest.go new file mode 100644 index 0000000..abc61f8 --- /dev/null +++ b/internal/sdk/pkg/models/shared/publisherupgradeprofilebulkrequest.go @@ -0,0 +1,44 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type PublisherUpgradeProfileBulkRequestApply struct { + PublisherUpgradeProfilesID *string `json:"publisher_upgrade_profiles_id,omitempty"` +} + +func (o *PublisherUpgradeProfileBulkRequestApply) GetPublisherUpgradeProfilesID() *string { + if o == nil { + return nil + } + return o.PublisherUpgradeProfilesID +} + +type PublisherUpgradeProfileBulkRequestPublishers struct { + ID []string `json:"id,omitempty"` + Apply *PublisherUpgradeProfileBulkRequestApply `json:"apply,omitempty"` +} + +func (o *PublisherUpgradeProfileBulkRequestPublishers) GetID() []string { + if o == nil { + return nil + } + return o.ID +} + +func (o *PublisherUpgradeProfileBulkRequestPublishers) GetApply() *PublisherUpgradeProfileBulkRequestApply { + if o == nil { + return nil + } + return o.Apply +} + +type PublisherUpgradeProfileBulkRequest struct { + Publishers *PublisherUpgradeProfileBulkRequestPublishers `json:"publishers,omitempty"` +} + +func (o *PublisherUpgradeProfileBulkRequest) GetPublishers() *PublisherUpgradeProfileBulkRequestPublishers { + if o == nil { + return nil + } + return o.Publishers +} diff --git a/internal/sdk/pkg/models/shared/publisherupgradeprofilebulkresponse.go b/internal/sdk/pkg/models/shared/publisherupgradeprofilebulkresponse.go new file mode 100644 index 0000000..dda8892 --- /dev/null +++ b/internal/sdk/pkg/models/shared/publisherupgradeprofilebulkresponse.go @@ -0,0 +1,62 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +import ( + "encoding/json" + "fmt" +) + +type PublisherUpgradeProfileBulkResponseStatus string + +const ( + PublisherUpgradeProfileBulkResponseStatusSuccess PublisherUpgradeProfileBulkResponseStatus = "success" + PublisherUpgradeProfileBulkResponseStatusNotFound PublisherUpgradeProfileBulkResponseStatus = "not found" +) + +func (e PublisherUpgradeProfileBulkResponseStatus) ToPointer() *PublisherUpgradeProfileBulkResponseStatus { + return &e +} + +func (e *PublisherUpgradeProfileBulkResponseStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "success": + fallthrough + case "not found": + *e = PublisherUpgradeProfileBulkResponseStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PublisherUpgradeProfileBulkResponseStatus: %v", v) + } +} + +type PublisherUpgradeProfileBulkResponse struct { + Status *PublisherUpgradeProfileBulkResponseStatus `json:"status,omitempty"` + Data []UpgradePublisherResponse `json:"data,omitempty"` + Total *int `json:"total,omitempty"` +} + +func (o *PublisherUpgradeProfileBulkResponse) GetStatus() *PublisherUpgradeProfileBulkResponseStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *PublisherUpgradeProfileBulkResponse) GetData() []UpgradePublisherResponse { + if o == nil { + return nil + } + return o.Data +} + +func (o *PublisherUpgradeProfileBulkResponse) GetTotal() *int { + if o == nil { + return nil + } + return o.Total +} diff --git a/internal/sdk/pkg/models/shared/publisherupgradeprofilegetresponse.go b/internal/sdk/pkg/models/shared/publisherupgradeprofilegetresponse.go new file mode 100644 index 0000000..2b8a1a7 --- /dev/null +++ b/internal/sdk/pkg/models/shared/publisherupgradeprofilegetresponse.go @@ -0,0 +1,188 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +import ( + "encoding/json" + "fmt" +) + +type PublisherUpgradeProfileGetResponseStatus string + +const ( + PublisherUpgradeProfileGetResponseStatusSuccess PublisherUpgradeProfileGetResponseStatus = "success" + PublisherUpgradeProfileGetResponseStatusNotFound PublisherUpgradeProfileGetResponseStatus = "not found" +) + +func (e PublisherUpgradeProfileGetResponseStatus) ToPointer() *PublisherUpgradeProfileGetResponseStatus { + return &e +} + +func (e *PublisherUpgradeProfileGetResponseStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "success": + fallthrough + case "not found": + *e = PublisherUpgradeProfileGetResponseStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PublisherUpgradeProfileGetResponseStatus: %v", v) + } +} + +type UpgradeProfiles struct { + CreatedAt *string `json:"created_at,omitempty"` + DockerTag *string `json:"docker_tag,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + ExternalID *int `json:"external_id,omitempty"` + Frequency *string `json:"frequency,omitempty"` + ID *int `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + NextUpdateTime *int `json:"next_update_time,omitempty"` + NumAssociatedPublisher *int64 `json:"num_associated_publisher,omitempty"` + ReleaseType *string `json:"release_type,omitempty"` + Timezone *string `json:"timezone,omitempty"` + UpdatedAt *string `json:"updated_at,omitempty"` + UpgradingStage *int `json:"upgrading_stage,omitempty"` + WillStart *bool `json:"will_start,omitempty"` +} + +func (o *UpgradeProfiles) GetCreatedAt() *string { + if o == nil { + return nil + } + return o.CreatedAt +} + +func (o *UpgradeProfiles) GetDockerTag() *string { + if o == nil { + return nil + } + return o.DockerTag +} + +func (o *UpgradeProfiles) GetEnabled() *bool { + if o == nil { + return nil + } + return o.Enabled +} + +func (o *UpgradeProfiles) GetExternalID() *int { + if o == nil { + return nil + } + return o.ExternalID +} + +func (o *UpgradeProfiles) GetFrequency() *string { + if o == nil { + return nil + } + return o.Frequency +} + +func (o *UpgradeProfiles) GetID() *int { + if o == nil { + return nil + } + return o.ID +} + +func (o *UpgradeProfiles) GetName() *string { + if o == nil { + return nil + } + return o.Name +} + +func (o *UpgradeProfiles) GetNextUpdateTime() *int { + if o == nil { + return nil + } + return o.NextUpdateTime +} + +func (o *UpgradeProfiles) GetNumAssociatedPublisher() *int64 { + if o == nil { + return nil + } + return o.NumAssociatedPublisher +} + +func (o *UpgradeProfiles) GetReleaseType() *string { + if o == nil { + return nil + } + return o.ReleaseType +} + +func (o *UpgradeProfiles) GetTimezone() *string { + if o == nil { + return nil + } + return o.Timezone +} + +func (o *UpgradeProfiles) GetUpdatedAt() *string { + if o == nil { + return nil + } + return o.UpdatedAt +} + +func (o *UpgradeProfiles) GetUpgradingStage() *int { + if o == nil { + return nil + } + return o.UpgradingStage +} + +func (o *UpgradeProfiles) GetWillStart() *bool { + if o == nil { + return nil + } + return o.WillStart +} + +type PublisherUpgradeProfileGetResponseData struct { + UpgradeProfiles []UpgradeProfiles `json:"upgrade_profiles,omitempty"` +} + +func (o *PublisherUpgradeProfileGetResponseData) GetUpgradeProfiles() []UpgradeProfiles { + if o == nil { + return nil + } + return o.UpgradeProfiles +} + +type PublisherUpgradeProfileGetResponse struct { + Status *PublisherUpgradeProfileGetResponseStatus `json:"status,omitempty"` + Total *int `json:"total,omitempty"` + Data *PublisherUpgradeProfileGetResponseData `json:"data,omitempty"` +} + +func (o *PublisherUpgradeProfileGetResponse) GetStatus() *PublisherUpgradeProfileGetResponseStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *PublisherUpgradeProfileGetResponse) GetTotal() *int { + if o == nil { + return nil + } + return o.Total +} + +func (o *PublisherUpgradeProfileGetResponse) GetData() *PublisherUpgradeProfileGetResponseData { + if o == nil { + return nil + } + return o.Data +} diff --git a/internal/sdk/pkg/models/shared/publisherupgradeprofilepostrequest.go b/internal/sdk/pkg/models/shared/publisherupgradeprofilepostrequest.go new file mode 100644 index 0000000..1bfac2c --- /dev/null +++ b/internal/sdk/pkg/models/shared/publisherupgradeprofilepostrequest.go @@ -0,0 +1,62 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type PublisherUpgradeProfilePostRequest struct { + Name *string `json:"name,omitempty"` + Frequency *string `json:"frequency,omitempty"` + Timezone *string `json:"timezone,omitempty"` + DockerTag *string `json:"docker_tag,omitempty"` + ReleaseType *string `json:"release_type,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + Required interface{} `json:"required,omitempty"` +} + +func (o *PublisherUpgradeProfilePostRequest) GetName() *string { + if o == nil { + return nil + } + return o.Name +} + +func (o *PublisherUpgradeProfilePostRequest) GetFrequency() *string { + if o == nil { + return nil + } + return o.Frequency +} + +func (o *PublisherUpgradeProfilePostRequest) GetTimezone() *string { + if o == nil { + return nil + } + return o.Timezone +} + +func (o *PublisherUpgradeProfilePostRequest) GetDockerTag() *string { + if o == nil { + return nil + } + return o.DockerTag +} + +func (o *PublisherUpgradeProfilePostRequest) GetReleaseType() *string { + if o == nil { + return nil + } + return o.ReleaseType +} + +func (o *PublisherUpgradeProfilePostRequest) GetEnabled() *bool { + if o == nil { + return nil + } + return o.Enabled +} + +func (o *PublisherUpgradeProfilePostRequest) GetRequired() interface{} { + if o == nil { + return nil + } + return o.Required +} diff --git a/internal/sdk/pkg/models/shared/publisherupgradeprofileputrequest.go b/internal/sdk/pkg/models/shared/publisherupgradeprofileputrequest.go new file mode 100644 index 0000000..17cbdd0 --- /dev/null +++ b/internal/sdk/pkg/models/shared/publisherupgradeprofileputrequest.go @@ -0,0 +1,62 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type PublisherUpgradeProfilePutRequest struct { + Name *string `json:"name,omitempty"` + ID *int `json:"id,omitempty"` + Frequency *string `json:"frequency,omitempty"` + Timezone *string `json:"timezone,omitempty"` + DockerTag *string `json:"docker_tag,omitempty"` + ReleaseType *string `json:"release_type,omitempty"` + Enabled *bool `json:"enabled,omitempty"` +} + +func (o *PublisherUpgradeProfilePutRequest) GetName() *string { + if o == nil { + return nil + } + return o.Name +} + +func (o *PublisherUpgradeProfilePutRequest) GetID() *int { + if o == nil { + return nil + } + return o.ID +} + +func (o *PublisherUpgradeProfilePutRequest) GetFrequency() *string { + if o == nil { + return nil + } + return o.Frequency +} + +func (o *PublisherUpgradeProfilePutRequest) GetTimezone() *string { + if o == nil { + return nil + } + return o.Timezone +} + +func (o *PublisherUpgradeProfilePutRequest) GetDockerTag() *string { + if o == nil { + return nil + } + return o.DockerTag +} + +func (o *PublisherUpgradeProfilePutRequest) GetReleaseType() *string { + if o == nil { + return nil + } + return o.ReleaseType +} + +func (o *PublisherUpgradeProfilePutRequest) GetEnabled() *bool { + if o == nil { + return nil + } + return o.Enabled +} diff --git a/internal/sdk/pkg/models/shared/publisherupgradeprofileresponse.go b/internal/sdk/pkg/models/shared/publisherupgradeprofileresponse.go new file mode 100644 index 0000000..a1ee7a5 --- /dev/null +++ b/internal/sdk/pkg/models/shared/publisherupgradeprofileresponse.go @@ -0,0 +1,73 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type PublisherUpgradeProfileResponseData struct { + ID *int `json:"id,omitempty"` + Frequency *string `json:"frequency,omitempty"` + Timezone *string `json:"timezone,omitempty"` + DockerTag *string `json:"docker_tag,omitempty"` + ReleaseType *string `json:"release_type,omitempty"` + Name *string `json:"name,omitempty"` + Enabled *bool `json:"enabled,omitempty"` +} + +func (o *PublisherUpgradeProfileResponseData) GetID() *int { + if o == nil { + return nil + } + return o.ID +} + +func (o *PublisherUpgradeProfileResponseData) GetFrequency() *string { + if o == nil { + return nil + } + return o.Frequency +} + +func (o *PublisherUpgradeProfileResponseData) GetTimezone() *string { + if o == nil { + return nil + } + return o.Timezone +} + +func (o *PublisherUpgradeProfileResponseData) GetDockerTag() *string { + if o == nil { + return nil + } + return o.DockerTag +} + +func (o *PublisherUpgradeProfileResponseData) GetReleaseType() *string { + if o == nil { + return nil + } + return o.ReleaseType +} + +func (o *PublisherUpgradeProfileResponseData) GetName() *string { + if o == nil { + return nil + } + return o.Name +} + +func (o *PublisherUpgradeProfileResponseData) GetEnabled() *bool { + if o == nil { + return nil + } + return o.Enabled +} + +type PublisherUpgradeProfileResponse struct { + Data *PublisherUpgradeProfileResponseData `json:"data,omitempty"` +} + +func (o *PublisherUpgradeProfileResponse) GetData() *PublisherUpgradeProfileResponseData { + if o == nil { + return nil + } + return o.Data +} diff --git a/internal/sdk/pkg/models/shared/tagitem.go b/internal/sdk/pkg/models/shared/tagitem.go index dd14b2e..90d43af 100644 --- a/internal/sdk/pkg/models/shared/tagitem.go +++ b/internal/sdk/pkg/models/shared/tagitem.go @@ -3,20 +3,20 @@ package shared type TagItem struct { - TagID *int `json:"tag_id,omitempty"` TagName *string `json:"tag_name,omitempty"` + TagID *int `json:"tag_id,omitempty"` } -func (o *TagItem) GetTagID() *int { +func (o *TagItem) GetTagName() *string { if o == nil { return nil } - return o.TagID + return o.TagName } -func (o *TagItem) GetTagName() *string { +func (o *TagItem) GetTagID() *int { if o == nil { return nil } - return o.TagName + return o.TagID } diff --git a/internal/sdk/pkg/models/shared/tagitemnoid.go b/internal/sdk/pkg/models/shared/tagitemnoid.go index 474a55b..d4adce9 100644 --- a/internal/sdk/pkg/models/shared/tagitemnoid.go +++ b/internal/sdk/pkg/models/shared/tagitemnoid.go @@ -2,23 +2,8 @@ package shared -import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" -) - type TagItemNoID struct { - TagName *string `default:"tag_name" json:"tag_name"` -} - -func (t TagItemNoID) MarshalJSON() ([]byte, error) { - return utils.MarshalJSON(t, "", false) -} - -func (t *TagItemNoID) UnmarshalJSON(data []byte) error { - if err := utils.UnmarshalJSON(data, &t, "", false, false); err != nil { - return err - } - return nil + TagName *string `json:"tag_name,omitempty"` } func (o *TagItemNoID) GetTagName() *string { diff --git a/internal/sdk/pkg/models/shared/tagrequest.go b/internal/sdk/pkg/models/shared/tagrequest.go new file mode 100644 index 0000000..1198e3f --- /dev/null +++ b/internal/sdk/pkg/models/shared/tagrequest.go @@ -0,0 +1,38 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type TagRequest struct { + ID *string `json:"id,omitempty"` + Ids []string `json:"ids,omitempty"` + Tags []TagItem `json:"tags,omitempty"` + PublisherTags []TagItem `json:"publisher_tags,omitempty"` +} + +func (o *TagRequest) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *TagRequest) GetIds() []string { + if o == nil { + return nil + } + return o.Ids +} + +func (o *TagRequest) GetTags() []TagItem { + if o == nil { + return nil + } + return o.Tags +} + +func (o *TagRequest) GetPublisherTags() []TagItem { + if o == nil { + return nil + } + return o.PublisherTags +} diff --git a/internal/sdk/pkg/models/shared/tagresponse.go b/internal/sdk/pkg/models/shared/tagresponse.go new file mode 100644 index 0000000..8c684ff --- /dev/null +++ b/internal/sdk/pkg/models/shared/tagresponse.go @@ -0,0 +1,33 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type TagResponseData struct { + TagID *int `json:"tag_id,omitempty"` + TagName *string `json:"tag_name,omitempty"` +} + +func (o *TagResponseData) GetTagID() *int { + if o == nil { + return nil + } + return o.TagID +} + +func (o *TagResponseData) GetTagName() *string { + if o == nil { + return nil + } + return o.TagName +} + +type TagResponse struct { + Data []TagResponseData `json:"data,omitempty"` +} + +func (o *TagResponse) GetData() []TagResponseData { + if o == nil { + return nil + } + return o.Data +} diff --git a/internal/sdk/pkg/models/shared/tagresponse400.go b/internal/sdk/pkg/models/shared/tagresponse400.go new file mode 100644 index 0000000..c8594e2 --- /dev/null +++ b/internal/sdk/pkg/models/shared/tagresponse400.go @@ -0,0 +1,22 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +type TagResponse400 struct { + Status *int64 `json:"status,omitempty"` + Result *string `json:"result,omitempty"` +} + +func (o *TagResponse400) GetStatus() *int64 { + if o == nil { + return nil + } + return o.Status +} + +func (o *TagResponse400) GetResult() *string { + if o == nil { + return nil + } + return o.Result +} diff --git a/internal/sdk/pkg/models/shared/upgradepublisherresponse.go b/internal/sdk/pkg/models/shared/upgradepublisherresponse.go new file mode 100644 index 0000000..cccef16 --- /dev/null +++ b/internal/sdk/pkg/models/shared/upgradepublisherresponse.go @@ -0,0 +1,121 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package shared + +import ( + "encoding/json" + "fmt" +) + +type UpgradePublisherResponseAssessment struct { +} + +type UpgradePublisherResponseStatus string + +const ( + UpgradePublisherResponseStatusConnected UpgradePublisherResponseStatus = "connected" + UpgradePublisherResponseStatusNotRegistered UpgradePublisherResponseStatus = "not registered" +) + +func (e UpgradePublisherResponseStatus) ToPointer() *UpgradePublisherResponseStatus { + return &e +} + +func (e *UpgradePublisherResponseStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "connected": + fallthrough + case "not registered": + *e = UpgradePublisherResponseStatus(v) + return nil + default: + return fmt.Errorf("invalid value for UpgradePublisherResponseStatus: %v", v) + } +} + +type UpgradePublisherResponse struct { + PublisherID *int `json:"publisher_id,omitempty"` + PublisherName *string `json:"publisher_name,omitempty"` + CommonName *string `json:"common_name,omitempty"` + Registered *bool `json:"registered,omitempty"` + Lbrokerconnect *bool `json:"lbrokerconnect,omitempty"` + Assessment *UpgradePublisherResponseAssessment `json:"assessment,omitempty"` + StitcherID *int `json:"stitcher_id,omitempty"` + Status *UpgradePublisherResponseStatus `json:"status,omitempty"` + PublisherUpgradeProfileID *int `json:"publisher_upgrade_profile_id,omitempty"` + Tags []TagItem `json:"tags,omitempty"` +} + +func (o *UpgradePublisherResponse) GetPublisherID() *int { + if o == nil { + return nil + } + return o.PublisherID +} + +func (o *UpgradePublisherResponse) GetPublisherName() *string { + if o == nil { + return nil + } + return o.PublisherName +} + +func (o *UpgradePublisherResponse) GetCommonName() *string { + if o == nil { + return nil + } + return o.CommonName +} + +func (o *UpgradePublisherResponse) GetRegistered() *bool { + if o == nil { + return nil + } + return o.Registered +} + +func (o *UpgradePublisherResponse) GetLbrokerconnect() *bool { + if o == nil { + return nil + } + return o.Lbrokerconnect +} + +func (o *UpgradePublisherResponse) GetAssessment() *UpgradePublisherResponseAssessment { + if o == nil { + return nil + } + return o.Assessment +} + +func (o *UpgradePublisherResponse) GetStitcherID() *int { + if o == nil { + return nil + } + return o.StitcherID +} + +func (o *UpgradePublisherResponse) GetStatus() *UpgradePublisherResponseStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *UpgradePublisherResponse) GetPublisherUpgradeProfileID() *int { + if o == nil { + return nil + } + return o.PublisherUpgradeProfileID +} + +func (o *UpgradePublisherResponse) GetTags() []TagItem { + if o == nil { + return nil + } + return o.Tags +} diff --git a/internal/sdk/sdk.go b/internal/sdk/sdk.go index f7d59ee..48d39ee 100644 --- a/internal/sdk/sdk.go +++ b/internal/sdk/sdk.go @@ -70,10 +70,11 @@ func (c *sdkConfiguration) GetServerDetails() (string, map[string]string) { // TerraformProviderNs - Netskope Terraform Provider: Combined specification to produce netskope terraform provider via speakeasy type TerraformProviderNs struct { - NPAPublishers *NPAPublishers - PublisherToken *PublisherToken - NPAPublishersApps *NPAPublishersApps - NPAPublishersReleases *NPAPublishersReleases + NPAPublishers *NPAPublishers + PublisherToken *PublisherToken + NPAPublishersApps *NPAPublishersApps + NPAPublishersReleases *NPAPublishersReleases + NPAPublisherUpgradeProfiles *NPAPublisherUpgradeProfiles sdkConfiguration sdkConfiguration } @@ -163,9 +164,9 @@ func New(opts ...SDKOption) *TerraformProviderNs { sdkConfiguration: sdkConfiguration{ Language: "go", OpenAPIDocVersion: "1.0.0", - SDKVersion: "0.0.2", + SDKVersion: "0.0.3", GenVersion: "2.281.2", - UserAgent: "speakeasy-sdk/go 0.0.2 2.281.2 1.0.0 terraform", + UserAgent: "speakeasy-sdk/go 0.0.3 2.281.2 1.0.0 terraform", ServerDefaults: []map[string]string{ { "tenant": "demo", @@ -197,6 +198,8 @@ func New(opts ...SDKOption) *TerraformProviderNs { sdk.NPAPublishersReleases = newNPAPublishersReleases(sdk.sdkConfiguration) + sdk.NPAPublisherUpgradeProfiles = newNPAPublisherUpgradeProfiles(sdk.sdkConfiguration) + return sdk } @@ -517,6 +520,90 @@ func (s *TerraformProviderNs) PutInfrastructurePublishersAlertsconfiguration(ctx return res, nil } +// PutInfrastructurePublisherupgradeprofilesBulk - Update the profile of multiple publishers +func (s *TerraformProviderNs) PutInfrastructurePublisherupgradeprofilesBulk(ctx context.Context, request operations.PutInfrastructurePublisherupgradeprofilesBulkRequest) (*operations.PutInfrastructurePublisherupgradeprofilesBulkResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publisherupgradeprofiles/bulk" + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PublisherUpgradeProfileBulkRequest", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, fmt.Errorf("error serializing request body: %w", err) + } + if bodyReader == nil { + return nil, fmt.Errorf("request body is required") + } + + debugBody := bytes.NewBuffer([]byte{}) + debugReader := io.TeeReader(bodyReader, debugBody) + + req, err := http.NewRequestWithContext(ctx, "PUT", url, debugReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Request.Body = io.NopCloser(debugBody) + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.PutInfrastructurePublisherupgradeprofilesBulkResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.PublisherUpgradeProfileBulkResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PublisherUpgradeProfileBulkResponse = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.FourHundred + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundred = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + // GetPolicyNpaRules - Get list of npa policies // Get list of npa policies func (s *TerraformProviderNs) GetPolicyNpaRules(ctx context.Context, request operations.GetPolicyNpaRulesRequest) (*operations.GetPolicyNpaRulesResponse, error) { @@ -900,3 +987,3387 @@ func (s *TerraformProviderNs) GetPolicyNpaRulesID(ctx context.Context, request o return res, nil } + +// GetPolicyNpaPolicygroups - Get list of npa policy groups +// Get list of npa policy groups +func (s *TerraformProviderNs) GetPolicyNpaPolicygroups(ctx context.Context, request operations.GetPolicyNpaPolicygroupsRequest) (*operations.GetPolicyNpaPolicygroupsResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url := strings.TrimSuffix(baseURL, "/") + "/policy/npa/policygroups" + + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.GetPolicyNpaPolicygroupsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.NpaPolicygroupResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.NpaPolicygroupResponse = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.NpaPolicygroupResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.NpaPolicygroupResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// PostPolicyNpaPolicygroups - Create a npa policy group +// Create a npa policy group +func (s *TerraformProviderNs) PostPolicyNpaPolicygroups(ctx context.Context, request operations.PostPolicyNpaPolicygroupsRequest) (*operations.PostPolicyNpaPolicygroupsResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url := strings.TrimSuffix(baseURL, "/") + "/policy/npa/policygroups" + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "NpaPolicygroupRequest", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, fmt.Errorf("error serializing request body: %w", err) + } + if bodyReader == nil { + return nil, fmt.Errorf("request body is required") + } + + debugBody := bytes.NewBuffer([]byte{}) + debugReader := io.TeeReader(bodyReader, debugBody) + + req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Request.Body = io.NopCloser(debugBody) + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.PostPolicyNpaPolicygroupsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.PostPolicyNpaPolicygroupsResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.NpaPolicygroupResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.NpaPolicygroupResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// DeletePolicyNpaPolicygroupsID - Delete a npa policy group +// Delete a npa policy group with group id +func (s *TerraformProviderNs) DeletePolicyNpaPolicygroupsID(ctx context.Context, request operations.DeletePolicyNpaPolicygroupsIDRequest) (*operations.DeletePolicyNpaPolicygroupsIDResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/policygroups/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.DeletePolicyNpaPolicygroupsIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.DeletePolicyNpaPolicygroupsIDResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.NpaPolicygroupResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.NpaPolicygroupResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// PatchPolicyNpaPolicygroupsID - Patch a npa policy group +// Patch a npa policy group based on group id +func (s *TerraformProviderNs) PatchPolicyNpaPolicygroupsID(ctx context.Context, request operations.PatchPolicyNpaPolicygroupsIDRequest) (*operations.PatchPolicyNpaPolicygroupsIDResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/policygroups/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "NpaPolicygroupRequest", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, fmt.Errorf("error serializing request body: %w", err) + } + if bodyReader == nil { + return nil, fmt.Errorf("request body is required") + } + + debugBody := bytes.NewBuffer([]byte{}) + debugReader := io.TeeReader(bodyReader, debugBody) + + req, err := http.NewRequestWithContext(ctx, "PATCH", url, debugReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Request.Body = io.NopCloser(debugBody) + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.PatchPolicyNpaPolicygroupsIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.PatchPolicyNpaPolicygroupsIDResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.NpaPolicygroupResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.NpaPolicygroupResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// GetPolicyNpaPolicygroupsID - Get a npa policy group +// Get a npa policy group based on group id +func (s *TerraformProviderNs) GetPolicyNpaPolicygroupsID(ctx context.Context, request operations.GetPolicyNpaPolicygroupsIDRequest) (*operations.GetPolicyNpaPolicygroupsIDResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/policygroups/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.GetPolicyNpaPolicygroupsIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.GetPolicyNpaPolicygroupsIDResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.NpaPolicygroupResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.NpaPolicygroupResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// GetSteeringAppsPrivate - Get list of private applications +// Get list of private applications +func (s *TerraformProviderNs) GetSteeringAppsPrivate(ctx context.Context, request operations.GetSteeringAppsPrivateRequest) (*operations.GetSteeringAppsPrivateResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private" + + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.GetSteeringAppsPrivateResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.PrivateAppsGetResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsGetResponse = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.PrivateAppsResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// PostSteeringAppsPrivate - Create a private application +// Create a private application +func (s *TerraformProviderNs) PostSteeringAppsPrivate(ctx context.Context, request operations.PostSteeringAppsPrivateRequest) (*operations.PostSteeringAppsPrivateResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private" + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PrivateAppsRequest", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, fmt.Errorf("error serializing request body: %w", err) + } + if bodyReader == nil { + return nil, fmt.Errorf("request body is required") + } + + debugBody := bytes.NewBuffer([]byte{}) + debugReader := io.TeeReader(bodyReader, debugBody) + + req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Request.Body = io.NopCloser(debugBody) + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.PostSteeringAppsPrivateResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.PrivateAppsResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.PrivateAppsResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// DeleteSteeringAppsPrivatePrivateAppID - Delete a private application +// Delete a private application based on private app id +func (s *TerraformProviderNs) DeleteSteeringAppsPrivatePrivateAppID(ctx context.Context, request operations.DeleteSteeringAppsPrivatePrivateAppIDRequest) (*operations.DeleteSteeringAppsPrivatePrivateAppIDResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/{private_app_id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.DeleteSteeringAppsPrivatePrivateAppIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.DeleteSteeringAppsPrivatePrivateAppIDResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.PrivateAppsResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// PutSteeringAppsPrivatePrivateAppID - Update a private application +// Update a private application based on private app id +func (s *TerraformProviderNs) PutSteeringAppsPrivatePrivateAppID(ctx context.Context, request operations.PutSteeringAppsPrivatePrivateAppIDRequest) (*operations.PutSteeringAppsPrivatePrivateAppIDResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/{private_app_id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PrivateAppsPutRequest", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, fmt.Errorf("error serializing request body: %w", err) + } + if bodyReader == nil { + return nil, fmt.Errorf("request body is required") + } + + debugBody := bytes.NewBuffer([]byte{}) + debugReader := io.TeeReader(bodyReader, debugBody) + + req, err := http.NewRequestWithContext(ctx, "PUT", url, debugReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Request.Body = io.NopCloser(debugBody) + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.PutSteeringAppsPrivatePrivateAppIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.PrivateAppsResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.PrivateAppsResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// PatchSteeringAppsPrivatePrivateAppID - Patch a private application +// Patch a private application based on private app id +func (s *TerraformProviderNs) PatchSteeringAppsPrivatePrivateAppID(ctx context.Context, request operations.PatchSteeringAppsPrivatePrivateAppIDRequest) (*operations.PatchSteeringAppsPrivatePrivateAppIDResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/{private_app_id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PrivateAppsPutRequest", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, fmt.Errorf("error serializing request body: %w", err) + } + if bodyReader == nil { + return nil, fmt.Errorf("request body is required") + } + + debugBody := bytes.NewBuffer([]byte{}) + debugReader := io.TeeReader(bodyReader, debugBody) + + req, err := http.NewRequestWithContext(ctx, "PATCH", url, debugReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Request.Body = io.NopCloser(debugBody) + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.PatchSteeringAppsPrivatePrivateAppIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.PrivateAppsResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.PrivateAppsResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// GetSteeringAppsPrivatePrivateAppID - Get a private application +// Get a private application based on private app id +func (s *TerraformProviderNs) GetSteeringAppsPrivatePrivateAppID(ctx context.Context, request operations.GetSteeringAppsPrivatePrivateAppIDRequest) (*operations.GetSteeringAppsPrivatePrivateAppIDResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/{private_app_id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.GetSteeringAppsPrivatePrivateAppIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.PrivateAppsResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.PrivateAppsResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// PostSteeringAppsPrivateGetpolicyinuse - Retrieve number of policy in use for specified private apps +// Retrieve number of policy in use for specified private apps +func (s *TerraformProviderNs) PostSteeringAppsPrivateGetpolicyinuse(ctx context.Context, request operations.PostSteeringAppsPrivateGetpolicyinuseRequestBody) (*operations.PostSteeringAppsPrivateGetpolicyinuseResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private/getpolicyinuse" + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, fmt.Errorf("error serializing request body: %w", err) + } + if bodyReader == nil { + return nil, fmt.Errorf("request body is required") + } + + debugBody := bytes.NewBuffer([]byte{}) + debugReader := io.TeeReader(bodyReader, debugBody) + + req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + req.Header.Set("Content-Type", reqContentType) + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Request.Body = io.NopCloser(debugBody) + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.PostSteeringAppsPrivateGetpolicyinuseResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.PostSteeringAppsPrivateGetpolicyinuseResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.PrivateAppsResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// PostSteeringAppsPrivateTags - create tags for private apps +// Create tags for private apps +func (s *TerraformProviderNs) PostSteeringAppsPrivateTags(ctx context.Context, request shared.TagRequest) (*operations.PostSteeringAppsPrivateTagsResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private/tags" + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, fmt.Errorf("error serializing request body: %w", err) + } + if bodyReader == nil { + return nil, fmt.Errorf("request body is required") + } + + debugBody := bytes.NewBuffer([]byte{}) + debugReader := io.TeeReader(bodyReader, debugBody) + + req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + req.Header.Set("Content-Type", reqContentType) + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Request.Body = io.NopCloser(debugBody) + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.PostSteeringAppsPrivateTagsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.TagResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.TagResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// PatchSteeringAppsPrivateTags - bulk update tags to associate with specified private apps +// Bulk update tags to associate with specified private apps +func (s *TerraformProviderNs) PatchSteeringAppsPrivateTags(ctx context.Context, request shared.TagRequest) (*operations.PatchSteeringAppsPrivateTagsResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private/tags" + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, fmt.Errorf("error serializing request body: %w", err) + } + if bodyReader == nil { + return nil, fmt.Errorf("request body is required") + } + + debugBody := bytes.NewBuffer([]byte{}) + debugReader := io.TeeReader(bodyReader, debugBody) + + req, err := http.NewRequestWithContext(ctx, "PATCH", url, debugReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + req.Header.Set("Content-Type", reqContentType) + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Request.Body = io.NopCloser(debugBody) + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.PatchSteeringAppsPrivateTagsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.TagResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.TagResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// DeleteSteeringAppsPrivateTags - bulk delete tags for specified private apps +// Bulk delete tags for specified private apps +func (s *TerraformProviderNs) DeleteSteeringAppsPrivateTags(ctx context.Context, request shared.TagRequest) (*operations.DeleteSteeringAppsPrivateTagsResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private/tags" + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, fmt.Errorf("error serializing request body: %w", err) + } + if bodyReader == nil { + return nil, fmt.Errorf("request body is required") + } + + debugBody := bytes.NewBuffer([]byte{}) + debugReader := io.TeeReader(bodyReader, debugBody) + + req, err := http.NewRequestWithContext(ctx, "DELETE", url, debugReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + req.Header.Set("Content-Type", reqContentType) + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Request.Body = io.NopCloser(debugBody) + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.DeleteSteeringAppsPrivateTagsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.TagResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.TagResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// GetSteeringAppsPrivateTags - Get list of private app tags +// Get list of private app tags +func (s *TerraformProviderNs) GetSteeringAppsPrivateTags(ctx context.Context) (*operations.GetSteeringAppsPrivateTagsResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private/tags" + + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.GetSteeringAppsPrivateTagsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.TagResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.TagResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// GetSteeringAppsPrivateTagsTagID - Get a private app tag based on tag id +// Get a private app tag based on tag id +func (s *TerraformProviderNs) GetSteeringAppsPrivateTagsTagID(ctx context.Context, request operations.GetSteeringAppsPrivateTagsTagIDRequest) (*operations.GetSteeringAppsPrivateTagsTagIDResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/tags/{tag_id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.GetSteeringAppsPrivateTagsTagIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.TagResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.TagResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// PutSteeringAppsPrivateTagsTagID - Update a private app tag based on tag id +// Update a private app tag based on tag id +func (s *TerraformProviderNs) PutSteeringAppsPrivateTagsTagID(ctx context.Context, request operations.PutSteeringAppsPrivateTagsTagIDRequest) (*operations.PutSteeringAppsPrivateTagsTagIDResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/tags/{tag_id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "TagRequest", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, fmt.Errorf("error serializing request body: %w", err) + } + if bodyReader == nil { + return nil, fmt.Errorf("request body is required") + } + + debugBody := bytes.NewBuffer([]byte{}) + debugReader := io.TeeReader(bodyReader, debugBody) + + req, err := http.NewRequestWithContext(ctx, "PUT", url, debugReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + req.Header.Set("Content-Type", reqContentType) + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Request.Body = io.NopCloser(debugBody) + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.PutSteeringAppsPrivateTagsTagIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.TagResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.TagResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// DeleteSteeringAppsPrivateTagsTagID - Delete a private app tag based on tag id +// Delete a private app tag based on tag id +func (s *TerraformProviderNs) DeleteSteeringAppsPrivateTagsTagID(ctx context.Context, request operations.DeleteSteeringAppsPrivateTagsTagIDRequest) (*operations.DeleteSteeringAppsPrivateTagsTagIDResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/tags/{tag_id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "TagRequest", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, fmt.Errorf("error serializing request body: %w", err) + } + if bodyReader == nil { + return nil, fmt.Errorf("request body is required") + } + + debugBody := bytes.NewBuffer([]byte{}) + debugReader := io.TeeReader(bodyReader, debugBody) + + req, err := http.NewRequestWithContext(ctx, "DELETE", url, debugReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + req.Header.Set("Content-Type", reqContentType) + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Request.Body = io.NopCloser(debugBody) + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.DeleteSteeringAppsPrivateTagsTagIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.DeleteSteeringAppsPrivateTagsTagIDResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.TagResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// PostSteeringAppsPrivateTagsGetpolicyinuse - Retrieve number of policy in use for specified tags +// Retrieve number of policy in use for specified tags +func (s *TerraformProviderNs) PostSteeringAppsPrivateTagsGetpolicyinuse(ctx context.Context, request operations.PostSteeringAppsPrivateTagsGetpolicyinuseRequestBody) (*operations.PostSteeringAppsPrivateTagsGetpolicyinuseResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private/tags/getpolicyinuse" + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, fmt.Errorf("error serializing request body: %w", err) + } + if bodyReader == nil { + return nil, fmt.Errorf("request body is required") + } + + debugBody := bytes.NewBuffer([]byte{}) + debugReader := io.TeeReader(bodyReader, debugBody) + + req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + req.Header.Set("Content-Type", reqContentType) + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Request.Body = io.NopCloser(debugBody) + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.PostSteeringAppsPrivateTagsGetpolicyinuseResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.PostSteeringAppsPrivateTagsGetpolicyinuseResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.TagResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// GetSteeringGrePops - Get GRE points of presence(POPs) list +// API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. +func (s *TerraformProviderNs) GetSteeringGrePops(ctx context.Context, request operations.GetSteeringGrePopsRequest) (*operations.GetSteeringGrePopsResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url := strings.TrimSuffix(baseURL, "/") + "/steering/gre/pops" + + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.GetSteeringGrePopsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GrePopResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GrePopResponse200 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse403 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse405 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse429 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse500 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// GetSteeringGrePopsID - Get GRE point of presence(POP) +// API to get GRE POP using id. +func (s *TerraformProviderNs) GetSteeringGrePopsID(ctx context.Context, request operations.GetSteeringGrePopsIDRequest) (*operations.GetSteeringGrePopsIDResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url, err := utils.GenerateURL(ctx, baseURL, "/steering/gre/pops/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.GetSteeringGrePopsIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GrePopResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GrePopResponse200 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse403 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 404: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse404 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse404 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse405 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse429 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse500 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// GetSteeringGreTunnels - Get GRE tunnels list +// API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters +func (s *TerraformProviderNs) GetSteeringGreTunnels(ctx context.Context, request operations.GetSteeringGreTunnelsRequest) (*operations.GetSteeringGreTunnelsResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url := strings.TrimSuffix(baseURL, "/") + "/steering/gre/tunnels" + + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.GetSteeringGreTunnelsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreTunnelResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreTunnelResponse200 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse403 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse405 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse429 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse500 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// PostSteeringGreTunnels - Create GRE tunnel +// API to create new GRE tunnel. You can pass json body with tunnel details. +func (s *TerraformProviderNs) PostSteeringGreTunnels(ctx context.Context, request shared.GreTunnelRequestPost) (*operations.PostSteeringGreTunnelsResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url := strings.TrimSuffix(baseURL, "/") + "/steering/gre/tunnels" + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, fmt.Errorf("error serializing request body: %w", err) + } + if bodyReader == nil { + return nil, fmt.Errorf("request body is required") + } + + debugBody := bytes.NewBuffer([]byte{}) + debugReader := io.TeeReader(bodyReader, debugBody) + + req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + req.Header.Set("Content-Type", reqContentType) + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Request.Body = io.NopCloser(debugBody) + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.PostSteeringGreTunnelsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 201: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse201 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse201 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse403 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse405 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 409: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse409 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse409 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse429 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse500 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// GetSteeringGreTunnelsID - Get GRE tunnel +// API to get GRE tunnel using id. +func (s *TerraformProviderNs) GetSteeringGreTunnelsID(ctx context.Context, request operations.GetSteeringGreTunnelsIDRequest) (*operations.GetSteeringGreTunnelsIDResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url, err := utils.GenerateURL(ctx, baseURL, "/steering/gre/tunnels/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.GetSteeringGreTunnelsIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreTunnelResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreTunnelResponse200 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse403 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 404: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse404 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse404 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse405 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse429 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse500 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// PatchSteeringGreTunnelsID - Update GRE tunnel +// API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. +func (s *TerraformProviderNs) PatchSteeringGreTunnelsID(ctx context.Context, request operations.PatchSteeringGreTunnelsIDRequest) (*operations.PatchSteeringGreTunnelsIDResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url, err := utils.GenerateURL(ctx, baseURL, "/steering/gre/tunnels/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "GreTunnelRequestPatch", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, fmt.Errorf("error serializing request body: %w", err) + } + if bodyReader == nil { + return nil, fmt.Errorf("request body is required") + } + + debugBody := bytes.NewBuffer([]byte{}) + debugReader := io.TeeReader(bodyReader, debugBody) + + req, err := http.NewRequestWithContext(ctx, "PATCH", url, debugReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + req.Header.Set("Content-Type", reqContentType) + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Request.Body = io.NopCloser(debugBody) + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.PatchSteeringGreTunnelsIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GrePatchResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GrePatchResponse200 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse403 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 404: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse404 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse404 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse405 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse429 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse500 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// DeleteSteeringGreTunnelsID - Delete GRE tunnel +// API to delete GRE tunnel using id +func (s *TerraformProviderNs) DeleteSteeringGreTunnelsID(ctx context.Context, request operations.DeleteSteeringGreTunnelsIDRequest) (*operations.DeleteSteeringGreTunnelsIDResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url, err := utils.GenerateURL(ctx, baseURL, "/steering/gre/tunnels/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.DeleteSteeringGreTunnelsIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse200 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse403 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 404: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse404 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse404 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse405 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse429 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.GreResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse500 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// GetSteeringIpsecPops - Get IPSec points of presence(POPs) list +// API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. +func (s *TerraformProviderNs) GetSteeringIpsecPops(ctx context.Context, request operations.GetSteeringIpsecPopsRequest) (*operations.GetSteeringIpsecPopsResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url := strings.TrimSuffix(baseURL, "/") + "/steering/ipsec/pops" + + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.GetSteeringIpsecPopsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecPopResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecPopResponse200 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse403 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse405 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse429 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse500 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// GetSteeringIpsecPopsID - Get IPSec point of presence(POP) +// API to get IPSec POP using id. +func (s *TerraformProviderNs) GetSteeringIpsecPopsID(ctx context.Context, request operations.GetSteeringIpsecPopsIDRequest) (*operations.GetSteeringIpsecPopsIDResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url, err := utils.GenerateURL(ctx, baseURL, "/steering/ipsec/pops/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.GetSteeringIpsecPopsIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecPopResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecPopResponse200 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse403 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 404: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse404 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse404 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse405 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse429 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse500 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// GetSteeringIpsecTunnels - Get IPSec tunnels list +// API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters +func (s *TerraformProviderNs) GetSteeringIpsecTunnels(ctx context.Context, request operations.GetSteeringIpsecTunnelsRequest) (*operations.GetSteeringIpsecTunnelsResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url := strings.TrimSuffix(baseURL, "/") + "/steering/ipsec/tunnels" + + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.GetSteeringIpsecTunnelsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecTunnelResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecTunnelResponse200 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse403 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse405 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse429 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse500 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// PostSteeringIpsecTunnels - Create IPSec tunnel +// API to create new IPSec tunnel. You can pass json body with tunnel details. +func (s *TerraformProviderNs) PostSteeringIpsecTunnels(ctx context.Context, request shared.IpsecTunnelRequestPost) (*operations.PostSteeringIpsecTunnelsResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url := strings.TrimSuffix(baseURL, "/") + "/steering/ipsec/tunnels" + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, fmt.Errorf("error serializing request body: %w", err) + } + if bodyReader == nil { + return nil, fmt.Errorf("request body is required") + } + + debugBody := bytes.NewBuffer([]byte{}) + debugReader := io.TeeReader(bodyReader, debugBody) + + req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + req.Header.Set("Content-Type", reqContentType) + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Request.Body = io.NopCloser(debugBody) + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.PostSteeringIpsecTunnelsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 201: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse201 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse201 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse403 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse405 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 409: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse409 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse409 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse429 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse500 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// GetSteeringIpsecTunnelsID - Get IPSec tunnel +// API to get IPSec tunnel using id. +func (s *TerraformProviderNs) GetSteeringIpsecTunnelsID(ctx context.Context, request operations.GetSteeringIpsecTunnelsIDRequest) (*operations.GetSteeringIpsecTunnelsIDResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url, err := utils.GenerateURL(ctx, baseURL, "/steering/ipsec/tunnels/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.GetSteeringIpsecTunnelsIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecTunnelResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecTunnelResponse200 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse403 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 404: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse404 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse404 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse405 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse429 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse500 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// PatchSteeringIpsecTunnelsID - Update IPSec tunnel +// API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. +func (s *TerraformProviderNs) PatchSteeringIpsecTunnelsID(ctx context.Context, request operations.PatchSteeringIpsecTunnelsIDRequest) (*operations.PatchSteeringIpsecTunnelsIDResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url, err := utils.GenerateURL(ctx, baseURL, "/steering/ipsec/tunnels/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "IpsecTunnelRequestPatch", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, fmt.Errorf("error serializing request body: %w", err) + } + if bodyReader == nil { + return nil, fmt.Errorf("request body is required") + } + + debugBody := bytes.NewBuffer([]byte{}) + debugReader := io.TeeReader(bodyReader, debugBody) + + req, err := http.NewRequestWithContext(ctx, "PATCH", url, debugReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + req.Header.Set("Content-Type", reqContentType) + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Request.Body = io.NopCloser(debugBody) + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.PatchSteeringIpsecTunnelsIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecPatchResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecPatchResponse200 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse400 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse403 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 404: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse404 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse404 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse405 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse429 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse500 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} + +// DeleteSteeringIpsecTunnelsID - Delete IPSec tunnel +// API to delete IPSec tunnel using id +func (s *TerraformProviderNs) DeleteSteeringIpsecTunnelsID(ctx context.Context, request operations.DeleteSteeringIpsecTunnelsIDRequest) (*operations.DeleteSteeringIpsecTunnelsIDResponse, error) { + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + url, err := utils.GenerateURL(ctx, baseURL, "/steering/ipsec/tunnels/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + + client := s.sdkConfiguration.SecurityClient + + httpRes, err := client.Do(req) + if err != nil { + return nil, fmt.Errorf("error sending request: %w", err) + } + if httpRes == nil { + return nil, fmt.Errorf("error sending request: no response") + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + contentType := httpRes.Header.Get("Content-Type") + + res := &operations.DeleteSteeringIpsecTunnelsIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: contentType, + RawResponse: httpRes, + } + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse200 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse403 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 404: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse404 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse404 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse405 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse429 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out shared.IpsecResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse500 = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } + } + + return res, nil +} From dc26f6fd52191d6b7beb1e7061f656e9ba184789 Mon Sep 17 00:00:00 2001 From: Justin Adrian Date: Fri, 29 Mar 2024 13:28:42 -0400 Subject: [PATCH 4/8] updated workflow --- .speakeasy/gen.lock | 440 +- .speakeasy/gen.yaml | 2 +- .speakeasy/temp/applied_HGyilgdUXC.yaml | 6031 +++++++++++++++++ .speakeasy/temp/merge_AmGwYbbjxq.yaml | 5976 ++++++++++++++++ .speakeasy/temp/merge_BLnsFeEyhK.yaml | 5334 +++++++++++++++ .speakeasy/temp/merge_CNXCMXiXpC.yaml | 5334 +++++++++++++++ .speakeasy/temp/merge_EkFhZwiuOz.yaml | 4417 ++++++++++++ .speakeasy/temp/merge_GfrTIfiAPk.yaml | 5990 ++++++++++++++++ .speakeasy/temp/merge_GhHNszQlJx.yaml | 5334 +++++++++++++++ .speakeasy/temp/merge_JAdcXzLaRK.yaml | 6031 +++++++++++++++++ .speakeasy/temp/merge_JRsYdfzTWb.yaml | 5985 ++++++++++++++++ .speakeasy/temp/merge_LolXEYIEiA.yaml | 4417 ++++++++++++ .speakeasy/temp/merge_QJaWQpvTrB.yaml | 5980 ++++++++++++++++ .speakeasy/temp/merge_SyPLFWjQPG.yaml | 6022 ++++++++++++++++ .speakeasy/temp/merge_WeHOMkxeMj.yaml | 6031 +++++++++++++++++ .speakeasy/temp/merge_XkaOXwScDU.yaml | 5953 ++++++++++++++++ .speakeasy/temp/merge_ctdBFrIesm.yaml | 5334 +++++++++++++++ .speakeasy/temp/merge_dqfekeUOAs.yaml | 6031 +++++++++++++++++ .speakeasy/temp/merge_ejAbfdlbgl.yaml | 6021 ++++++++++++++++ .speakeasy/temp/merge_hfUJvWZnrn.yaml | 5985 ++++++++++++++++ .speakeasy/temp/merge_kOjwbHygSK.yaml | 5334 +++++++++++++++ .speakeasy/temp/merge_obnBKAmjnV.yaml | 6022 ++++++++++++++++ .speakeasy/temp/merge_osulCmlkTN.yaml | 5334 +++++++++++++++ .speakeasy/temp/merge_tZyhHbnvvq.yaml | 5454 +++++++++++++++ .speakeasy/temp/merge_vDPoWRRRii.yaml | 6020 ++++++++++++++++ .speakeasy/temp/merge_zpZSxcBwxB.yaml | 5976 ++++++++++++++++ .speakeasy/temp/output_AmVpwRaDhE.yaml | 6031 +++++++++++++++++ .speakeasy/temp/output_EVlDxaRaED.yaml | 5980 ++++++++++++++++ .speakeasy/temp/output_EztgMMirMv.yaml | 6021 ++++++++++++++++ .speakeasy/temp/output_HiDVGuWctK.yaml | 6022 ++++++++++++++++ .speakeasy/temp/output_KDzidilvtM.yaml | 5985 ++++++++++++++++ .speakeasy/temp/output_LsZYkIkFkW.yaml | 5976 ++++++++++++++++ .speakeasy/temp/output_NBtNJuKSYD.yaml | 5953 ++++++++++++++++ .speakeasy/temp/output_OkTFqKymnq.yaml | 5334 +++++++++++++++ .speakeasy/temp/output_PRSEkdCcnd.yaml | 5334 +++++++++++++++ .speakeasy/temp/output_RCWelGgLkW.yaml | 4417 ++++++++++++ .speakeasy/temp/output_REeQQJmCji.yaml | 5334 +++++++++++++++ .speakeasy/temp/output_RSmxqoyVbl.yaml | 6031 +++++++++++++++++ .speakeasy/temp/output_SUrSYlEUwy.yaml | 5985 ++++++++++++++++ .speakeasy/temp/output_XuhdpSJpWa.yaml | 6031 +++++++++++++++++ .speakeasy/temp/output_YWnMmlKqYj.yaml | 5334 +++++++++++++++ .speakeasy/temp/output_blGPAVDmbM.yaml | 5334 +++++++++++++++ .speakeasy/temp/output_cQUmSibNwl.yaml | 5976 ++++++++++++++++ .speakeasy/temp/output_dmsXNpuaxE.yaml | 5454 +++++++++++++++ .speakeasy/temp/output_jytchafsTQ.yaml | 6020 ++++++++++++++++ .speakeasy/temp/output_lOoyyvNwNn.yaml | 4417 ++++++++++++ .speakeasy/temp/output_seECDqokun.yaml | 6022 ++++++++++++++++ .speakeasy/temp/output_wrMZdxXuQE.yaml | 5990 ++++++++++++++++ .speakeasy/temp/output_zTikskYjAI.yaml | 5334 +++++++++++++++ .speakeasy/workflow.yaml | 3 + README.md | 2 +- .../terraform_npa_policy_list/data-source.tf | 4 +- .../data-source.tf | 2 +- .../terraform_npa_publishers/data-source.tf | 2 +- .../data-source.tf | 2 +- .../data-source.tf | 4 +- .../terraform_scim_groups/data-source.tf | 5 + .../data-source.tf | 3 + .../terraform_scim_user/data-source.tf | 3 + examples/provider/provider.tf | 2 +- .../terraform_npa_policy/resource.tf | 2 +- .../terraform_npa_policy_group/resource.tf | 2 +- .../resource.tf | 2 +- .../terraform_npa_publishers/resource.tf | 6 +- .../resource.tf | 2 +- .../terraform_private_app/resource.tf | 4 +- .../terraform_private_app_tag/resource.tf | 4 +- .../terraform_publisher_token/resource.tf | 2 +- .../terraform_scim_groups/resource.tf | 4 + .../resources/terraform_scim_user/resource.tf | 5 + internal/provider/npapolicy_data_source.go | 13 +- .../provider/npapolicy_data_source_sdk.go | 37 +- internal/provider/npapolicy_resource.go | 39 +- internal/provider/npapolicy_resource_sdk.go | 37 +- .../provider/npapolicygroup_data_source.go | 6 +- .../npapolicygroup_data_source_sdk.go | 2 +- internal/provider/npapolicygroup_resource.go | 37 +- .../provider/npapolicygroup_resource_sdk.go | 2 +- .../provider/npapolicylist_data_source.go | 19 +- .../provider/npapolicylist_data_source_sdk.go | 39 +- .../provider/npapublishers_data_source.go | 25 +- .../provider/npapublishers_data_source_sdk.go | 5 +- internal/provider/npapublishers_resource.go | 37 +- .../provider/npapublishers_resource_sdk.go | 5 +- ...blishersalertsconfiguration_data_source.go | 2 +- ...hersalertsconfiguration_data_source_sdk.go | 6 +- ...apublishersalertsconfiguration_resource.go | 6 +- ...lishersalertsconfiguration_resource_sdk.go | 6 +- .../npapublishersappslist_data_source.go | 11 +- .../npapublishersappslist_data_source_sdk.go | 13 +- .../npapublishersbulkupgrade_resource.go | 9 +- .../npapublishersbulkupgrade_resource_sdk.go | 13 +- .../provider/npapublisherslist_data_source.go | 24 +- .../npapublisherslist_data_source_sdk.go | 24 +- .../npapublishersreleaseslist_data_source.go | 11 +- ...apublishersreleaseslist_data_source_sdk.go | 5 +- .../npapublisherupgradeprofile_data_source.go | 4 +- ...publisherupgradeprofile_data_source_sdk.go | 2 +- .../npapublisherupgradeprofile_resource.go | 14 +- ...npapublisherupgradeprofile_resource_sdk.go | 2 +- ...publisherupgradeprofilelist_data_source.go | 9 +- ...isherupgradeprofilelist_data_source_sdk.go | 7 +- .../provider/policygrouplist_data_source.go | 19 +- .../policygrouplist_data_source_sdk.go | 5 +- internal/provider/privateapp_resource.go | 43 +- internal/provider/privateapp_resource_sdk.go | 11 +- .../provider/privateapplist_data_source.go | 13 +- .../privateapplist_data_source_sdk.go | 5 +- internal/provider/privateapptag_resource.go | 15 +- .../provider/privateapptag_resource_sdk.go | 2 +- .../provider/privateapptaglist_data_source.go | 5 +- .../privateapptaglist_data_source_sdk.go | 5 +- .../privateapptagpolicyuselist_data_source.go | 11 +- ...vateapptagpolicyuselist_data_source_sdk.go | 11 +- internal/provider/provider.go | 7 +- internal/provider/publishertoken_resource.go | 6 +- .../provider/publishertoken_resource_sdk.go | 4 +- internal/provider/scimgroups_data_source.go | 182 + .../provider/scimgroups_data_source_sdk.go | 37 + internal/provider/scimgroups_resource.go | 402 ++ internal/provider/scimgroups_resource_sdk.go | 123 + .../provider/scimgroupsbyid_data_source.go | 143 + .../scimgroupsbyid_data_source_sdk.go | 3 + internal/provider/scimuser_data_source.go | 181 + internal/provider/scimuser_data_source_sdk.go | 49 + internal/provider/scimuser_resource.go | 397 ++ internal/provider/scimuser_resource_sdk.go | 297 + internal/provider/type_stitcher_id.go | 10 - .../activities.go} | 2 +- .../{type_apply.go => types/apply.go} | 2 +- .../assessment.go} | 2 +- .../provider/types/create_scim_groups_meta.go | 9 + .../provider/{type_data.go => types/data.go} | 2 +- internal/provider/types/emails.go | 10 + .../types/get_scim_groups_resources.go | 11 + .../group_order.go} | 2 +- .../match_criteria_action.go} | 2 +- internal/provider/types/members.go | 9 + internal/provider/types/name.go | 10 + .../npa_policy_response_item.go} | 2 +- .../npa_policy_rule_data.go} | 2 +- .../npa_policy_rule_dlp.go} | 2 +- .../npa_policygroup_response_item.go} | 2 +- .../private_apps_get_response_data.go} | 2 +- .../private_apps_with_activities.go} | 2 +- .../protocol_item.go} | 2 +- .../protocol_response_item.go} | 2 +- .../{type_publisher.go => types/publisher.go} | 4 +- .../publisher_apps_list_response_data.go} | 2 +- .../publisher_assessment.go} | 2 +- .../publisher_bulk_item.go} | 2 +- .../publisher_bulk_item_assessment.go} | 2 +- .../publisher_item.go} | 2 +- .../publisher_upgrade_failed_reason.go} | 2 +- ...sher_upgrade_profile_get_response_data.go} | 2 +- .../publishers.go} | 2 +- .../reachability.go} | 2 +- .../release_item.go} | 2 +- .../retrieve_npa_policies_in_use_data.go} | 4 +- .../rule_order.go} | 2 +- .../service_publisher_assignment_item.go} | 2 +- .../{type_tag_item.go => types/tag_item.go} | 2 +- .../tag_item_no_id.go} | 2 +- .../upgrade_failed_reason.go} | 2 +- .../upgrade_profiles.go} | 2 +- .../upgrade_status.go} | 2 +- internal/sdk/.gitattributes | 2 + internal/sdk/.gitignore | 1 + internal/sdk/internal/hooks/hooks.go | 144 + internal/sdk/internal/hooks/registration.go | 15 + .../{pkg => internal}/utils/contenttype.go | 0 internal/sdk/{pkg => internal}/utils/form.go | 2 +- .../sdk/{pkg => internal}/utils/headers.go | 0 internal/sdk/{pkg => internal}/utils/json.go | 2 +- .../sdk/{pkg => internal}/utils/pathparams.go | 2 +- .../{pkg => internal}/utils/queryparams.go | 0 .../{pkg => internal}/utils/requestbody.go | 13 + .../sdk/{pkg => internal}/utils/retries.go | 0 .../sdk/{pkg => internal}/utils/security.go | 136 +- internal/sdk/{pkg => internal}/utils/utils.go | 32 + .../sdkerrors => models/errors}/sdkerror.go | 2 +- .../configurenpapublisheralerts.go} | 14 +- .../operations/creategretunnels.go} | 24 +- .../operations/createipsectunnels.go} | 24 +- .../sdk/models/operations/createnpaapps.go | 106 + .../operations/createnpapolicygroups.go | 118 + .../operations/createnpapolicyrules.go} | 22 +- .../operations/createnpapublishers.go} | 20 +- .../createnpapublisherupradeprofiles.go | 106 + .../operations/createnpatags.go} | 14 +- .../sdk/models/operations/createscimgroups.go | 434 ++ .../sdk/models/operations/createscimusers.go | 484 ++ .../operations/deletegretunnels.go} | 26 +- .../operations/deleteipsectunnels.go} | 26 +- .../operations/deletenpaapps.go} | 24 +- .../operations/deletenpapolicygroups.go} | 26 +- .../operations/deletenpapolicyrules.go} | 26 +- .../deletenpapubliserupgradeprofiles.go | 109 + .../models/operations/deletenpapublishers.go | 109 + .../operations/deletenpatags.go} | 14 +- .../operations/deletenpatagsbyid.go} | 26 +- .../sdk/models/operations/deletescimusers.go | 201 + .../models/operations/deletescimusersbyid.go | 201 + .../operations/generatenpapublishertoken.go | 128 + .../operations/getgrepops.go} | 48 +- .../operations/getgrepopsbyid.go} | 30 +- .../operations/getgretunnels.go} | 50 +- .../operations/getgretunnelsbyid.go} | 30 +- .../operations/getipsecpops.go} | 50 +- .../operations/getipsecpopsbyid.go} | 30 +- .../operations/getipsectunnels.go} | 52 +- .../operations/getipsectunnelsbyid.go} | 30 +- .../operations/getnpaapps.go} | 18 +- .../operations/getnpaappsbyid.go} | 18 +- .../operations/getnpapolicygroups.go} | 28 +- .../operations/getnpapolicygroupsbyid.go} | 26 +- .../operations/getnpapolicyrules.go} | 28 +- .../operations/getnpapolicyrulesbyid.go} | 28 +- .../operations/getnpapublisheralerts.go} | 14 +- .../operations/getnpapublisherapps.go} | 18 +- .../operations/getnpapublisherbyid.go} | 18 +- .../operations/getnpapublisherobjects.go} | 18 +- .../operations/getnpapublishers.go} | 18 +- .../getnpapublisherupgradeprofiles.go} | 18 +- .../operations/getnpatags.go} | 14 +- .../operations/getnpatagsbyid.go} | 18 +- .../getpublisherupgradeprofiles.go} | 18 +- .../sdk/models/operations/getscimgroups.go | 301 + .../models/operations/getscimgroupsbyid.go | 250 + .../sdk/models/operations/getscimusers.go | 368 + .../sdk/models/operations/getscimusersbyid.go | 298 + internal/sdk/models/operations/getusers.go | 368 + internal/sdk/models/operations/getusersid.go | 298 + internal/sdk/models/operations/options.go | 86 + .../operations/patchgretunnelsbyid.go} | 30 +- .../operations/patchipsectunnelsbyid.go} | 30 +- .../sdk/models/operations/patchnpaappsbyid.go | 115 + .../operations/patchnpapolicygroupsbyid.go | 127 + .../operations/patchnpapolicyrulesbyid.go | 127 + .../operations/patchnpatags.go} | 14 +- internal/sdk/models/operations/postusers.go | 484 ++ .../models/operations/putscimgroupsbyid.go | 455 ++ .../sdk/models/operations/putscimusersbyid.go | 502 ++ internal/sdk/models/operations/putusersid.go | 502 ++ .../operations/querynpapolicyinuse.go} | 26 +- .../models/operations/replacenpaappsbyid.go | 115 + .../operations/replacenpapublisherbyid.go} | 22 +- .../replacenpapublisherupgradeprofiles.go | 115 + .../operations/replacenpatagsbyid.go} | 20 +- .../operations/retrievenpapoliciesinuse.go | 90 + .../operations/triggernpapublisherupdate.go} | 14 +- .../operations/updatenpapublisherbyid.go | 115 + .../updatenpapublisherprofilesbulk.go | 110 + .../models/operations/updatescimusersbyid.go | 418 ++ .../sdk/{pkg => }/models/shared/assessment.go | 0 internal/sdk/{pkg => }/models/shared/data.go | 0 .../{pkg => }/models/shared/fourhundred.go | 0 .../models/shared/grepatchresponse200.go | 0 .../models/shared/grepopresponse200.go | 0 .../models/shared/grepopresultitem.go | 0 .../{pkg => }/models/shared/greresponse200.go | 0 .../{pkg => }/models/shared/greresponse201.go | 0 .../{pkg => }/models/shared/greresponse400.go | 0 .../{pkg => }/models/shared/greresponse403.go | 0 .../{pkg => }/models/shared/greresponse404.go | 0 .../{pkg => }/models/shared/greresponse405.go | 0 .../{pkg => }/models/shared/greresponse409.go | 0 .../{pkg => }/models/shared/greresponse429.go | 0 .../{pkg => }/models/shared/greresponse500.go | 0 .../models/shared/gretunnelpopresultitem.go | 0 .../models/shared/gretunnelrequestpatch.go | 0 .../models/shared/gretunnelrequestpost.go | 0 .../models/shared/gretunnelresponse200.go | 0 .../models/shared/gretunnelresultitem.go | 0 .../models/shared/ipsecpatchresponse200.go | 0 .../models/shared/ipsecpopresponse200.go | 0 .../models/shared/ipsecpopresultitem.go | 0 .../models/shared/ipsecresponse200.go | 0 .../models/shared/ipsecresponse201.go | 0 .../models/shared/ipsecresponse400.go | 0 .../models/shared/ipsecresponse403.go | 0 .../models/shared/ipsecresponse404.go | 0 .../models/shared/ipsecresponse405.go | 0 .../models/shared/ipsecresponse409.go | 0 .../models/shared/ipsecresponse429.go | 0 .../models/shared/ipsecresponse500.go | 0 .../models/shared/ipsectunnelpopresultitem.go | 0 .../models/shared/ipsectunnelrequestpatch.go | 0 .../models/shared/ipsectunnelrequestpost.go | 0 .../models/shared/ipsectunnelresponse200.go | 0 .../models/shared/ipsectunnelresultitem.go | 0 .../models/shared/npapolicygrouprequest.go | 0 .../models/shared/npapolicygroupresponse.go | 0 .../shared/npapolicygroupresponse400.go | 0 .../shared/npapolicygroupresponseitem.go | 0 .../models/shared/npapolicylistresponse.go | 0 .../models/shared/npapolicyrequest.go | 0 .../models/shared/npapolicyresponse400.go | 0 .../models/shared/npapolicyresponseitem.go | 0 .../models/shared/npapolicyruledata.go | 0 .../models/shared/npapolicyruledlp.go | 0 .../models/shared/privateappsgetresponse.go | 0 .../models/shared/privateappsputrequest.go | 0 .../models/shared/privateappsrequest.go | 0 .../models/shared/privateappsresponse.go | 0 .../models/shared/privateappsresponse400.go | 0 .../{pkg => }/models/shared/protocolitem.go | 0 .../models/shared/protocolresponseitem.go | 0 .../sdk/{pkg => }/models/shared/publisher.go | 90 +- .../shared/publisherappslistresponse.go | 0 .../models/shared/publisherbulkitem.go | 0 .../models/shared/publisherbulkrequest.go | 2 +- .../{pkg => }/models/shared/publisheritem.go | 0 .../models/shared/publisherpostrequest.go | 2 +- .../models/shared/publisherputrequest.go | 0 .../models/shared/publisherresponse.go | 0 .../shared/publishersalertgetresponse.go | 0 .../shared/publishersalertputrequest.go | 0 .../models/shared/publishersbulkresponse.go | 0 .../models/shared/publishersgetresponse.go | 0 .../shared/publishersreleasegetresponse.go | 0 .../models/shared/publishersresponse400.go | 0 .../publisherupgradeprofilebulkrequest.go | 0 .../publisherupgradeprofilebulkresponse.go | 0 .../publisherupgradeprofilegetresponse.go | 0 .../publisherupgradeprofilepostrequest.go | 0 .../publisherupgradeprofileputrequest.go | 0 .../shared/publisherupgradeprofileresponse.go | 0 .../{pkg => }/models/shared/releaseitem.go | 0 .../sdk/{pkg => }/models/shared/security.go | 0 .../shared/servicepublisherassignmentitem.go | 0 .../sdk/{pkg => }/models/shared/tagitem.go | 0 .../{pkg => }/models/shared/tagitemnoid.go | 0 .../sdk/{pkg => }/models/shared/tagrequest.go | 0 .../{pkg => }/models/shared/tagresponse.go | 0 .../{pkg => }/models/shared/tagresponse400.go | 0 .../models/shared/upgradefailedreason.go | 0 .../models/shared/upgradepublisherresponse.go | 0 .../{pkg => }/models/shared/upgradestatus.go | 0 internal/sdk/npapublishers.go | 384 +- internal/sdk/npapublishersapps.go | 78 +- internal/sdk/npapublishersreleases.go | 83 +- internal/sdk/npapublisherupgradeprofiles.go | 380 +- ...leteinfrastructurepublisherspublisherid.go | 109 - ...ublisherupgradeprofilesupgradeprofileid.go | 109 - .../sdk/pkg/models/operations/getusers.go | 368 + .../sdk/pkg/models/operations/getusersid.go | 298 + ...atchinfrastructurepublisherspublisherid.go | 115 - .../patchpolicynpapolicygroupsid.go | 127 - .../operations/patchpolicynparulesid.go | 127 - .../patchsteeringappsprivateprivateappid.go | 115 - ...epublisherspublisheridregistrationtoken.go | 128 - ...tinfrastructurepublisherupgradeprofiles.go | 106 - .../operations/postpolicynpapolicygroups.go | 118 - .../operations/poststeeringappsprivate.go | 106 - ...ststeeringappsprivatetagsgetpolicyinuse.go | 90 - .../sdk/pkg/models/operations/postusers.go | 484 ++ ...rastructurepublisherupgradeprofilesbulk.go | 110 - ...ublisherupgradeprofilesupgradeprofileid.go | 115 - .../putsteeringappsprivateprivateappid.go | 115 - .../sdk/pkg/models/operations/putusersid.go | 502 ++ internal/sdk/publishertoken.go | 80 +- internal/sdk/scimgroups.go | 635 ++ internal/sdk/scimusers.go | 753 ++ internal/sdk/sdk.go | 4373 ------------ internal/sdk/terraformproviderns.go | 5549 +++++++++++++++ internal/sdk/{pkg => }/types/bigint.go | 0 internal/sdk/{pkg => }/types/date.go | 0 internal/sdk/{pkg => }/types/datetime.go | 0 internal/sdk/{pkg => }/types/decimal.go | 0 internal/sdk/{pkg => }/types/pointers.go | 0 internal/validators/DateValidator.go | 2 +- swagger.yaml | 4417 ++++++++++++ 373 files changed, 290914 insertions(+), 7553 deletions(-) create mode 100644 .speakeasy/temp/applied_HGyilgdUXC.yaml create mode 100644 .speakeasy/temp/merge_AmGwYbbjxq.yaml create mode 100644 .speakeasy/temp/merge_BLnsFeEyhK.yaml create mode 100644 .speakeasy/temp/merge_CNXCMXiXpC.yaml create mode 100644 .speakeasy/temp/merge_EkFhZwiuOz.yaml create mode 100644 .speakeasy/temp/merge_GfrTIfiAPk.yaml create mode 100644 .speakeasy/temp/merge_GhHNszQlJx.yaml create mode 100644 .speakeasy/temp/merge_JAdcXzLaRK.yaml create mode 100644 .speakeasy/temp/merge_JRsYdfzTWb.yaml create mode 100644 .speakeasy/temp/merge_LolXEYIEiA.yaml create mode 100644 .speakeasy/temp/merge_QJaWQpvTrB.yaml create mode 100644 .speakeasy/temp/merge_SyPLFWjQPG.yaml create mode 100644 .speakeasy/temp/merge_WeHOMkxeMj.yaml create mode 100644 .speakeasy/temp/merge_XkaOXwScDU.yaml create mode 100644 .speakeasy/temp/merge_ctdBFrIesm.yaml create mode 100644 .speakeasy/temp/merge_dqfekeUOAs.yaml create mode 100644 .speakeasy/temp/merge_ejAbfdlbgl.yaml create mode 100644 .speakeasy/temp/merge_hfUJvWZnrn.yaml create mode 100644 .speakeasy/temp/merge_kOjwbHygSK.yaml create mode 100644 .speakeasy/temp/merge_obnBKAmjnV.yaml create mode 100644 .speakeasy/temp/merge_osulCmlkTN.yaml create mode 100644 .speakeasy/temp/merge_tZyhHbnvvq.yaml create mode 100644 .speakeasy/temp/merge_vDPoWRRRii.yaml create mode 100644 .speakeasy/temp/merge_zpZSxcBwxB.yaml create mode 100644 .speakeasy/temp/output_AmVpwRaDhE.yaml create mode 100644 .speakeasy/temp/output_EVlDxaRaED.yaml create mode 100644 .speakeasy/temp/output_EztgMMirMv.yaml create mode 100644 .speakeasy/temp/output_HiDVGuWctK.yaml create mode 100644 .speakeasy/temp/output_KDzidilvtM.yaml create mode 100644 .speakeasy/temp/output_LsZYkIkFkW.yaml create mode 100644 .speakeasy/temp/output_NBtNJuKSYD.yaml create mode 100644 .speakeasy/temp/output_OkTFqKymnq.yaml create mode 100644 .speakeasy/temp/output_PRSEkdCcnd.yaml create mode 100644 .speakeasy/temp/output_RCWelGgLkW.yaml create mode 100644 .speakeasy/temp/output_REeQQJmCji.yaml create mode 100644 .speakeasy/temp/output_RSmxqoyVbl.yaml create mode 100644 .speakeasy/temp/output_SUrSYlEUwy.yaml create mode 100644 .speakeasy/temp/output_XuhdpSJpWa.yaml create mode 100644 .speakeasy/temp/output_YWnMmlKqYj.yaml create mode 100644 .speakeasy/temp/output_blGPAVDmbM.yaml create mode 100644 .speakeasy/temp/output_cQUmSibNwl.yaml create mode 100644 .speakeasy/temp/output_dmsXNpuaxE.yaml create mode 100644 .speakeasy/temp/output_jytchafsTQ.yaml create mode 100644 .speakeasy/temp/output_lOoyyvNwNn.yaml create mode 100644 .speakeasy/temp/output_seECDqokun.yaml create mode 100644 .speakeasy/temp/output_wrMZdxXuQE.yaml create mode 100644 .speakeasy/temp/output_zTikskYjAI.yaml create mode 100644 examples/data-sources/terraform_scim_groups/data-source.tf create mode 100644 examples/data-sources/terraform_scim_groups_by_id/data-source.tf create mode 100644 examples/data-sources/terraform_scim_user/data-source.tf create mode 100644 examples/resources/terraform_scim_groups/resource.tf create mode 100644 examples/resources/terraform_scim_user/resource.tf create mode 100644 internal/provider/scimgroups_data_source.go create mode 100644 internal/provider/scimgroups_data_source_sdk.go create mode 100644 internal/provider/scimgroups_resource.go create mode 100644 internal/provider/scimgroups_resource_sdk.go create mode 100644 internal/provider/scimgroupsbyid_data_source.go create mode 100644 internal/provider/scimgroupsbyid_data_source_sdk.go create mode 100644 internal/provider/scimuser_data_source.go create mode 100644 internal/provider/scimuser_data_source_sdk.go create mode 100644 internal/provider/scimuser_resource.go create mode 100644 internal/provider/scimuser_resource_sdk.go delete mode 100644 internal/provider/type_stitcher_id.go rename internal/provider/{type_activities.go => types/activities.go} (94%) rename internal/provider/{type_apply.go => types/apply.go} (92%) rename internal/provider/{type_assessment.go => types/assessment.go} (96%) create mode 100644 internal/provider/types/create_scim_groups_meta.go rename internal/provider/{type_data.go => types/data.go} (89%) create mode 100644 internal/provider/types/emails.go create mode 100644 internal/provider/types/get_scim_groups_resources.go rename internal/provider/{type_group_order.go => types/group_order.go} (93%) rename internal/provider/{type_match_criteria_action.go => types/match_criteria_action.go} (92%) create mode 100644 internal/provider/types/members.go create mode 100644 internal/provider/types/name.go rename internal/provider/{type_npa_policy_response_item.go => types/npa_policy_response_item.go} (94%) rename internal/provider/{type_npa_policy_rule_data.go => types/npa_policy_rule_data.go} (99%) rename internal/provider/{type_npa_policy_rule_dlp.go => types/npa_policy_rule_dlp.go} (93%) rename internal/provider/{type_npa_policygroup_response_item.go => types/npa_policygroup_response_item.go} (97%) rename internal/provider/{type_private_apps_get_response_data.go => types/private_apps_get_response_data.go} (93%) rename internal/provider/{type_private_apps_with_activities.go => types/private_apps_with_activities.go} (94%) rename internal/provider/{type_protocol_item.go => types/protocol_item.go} (93%) rename internal/provider/{type_protocol_response_item.go => types/protocol_response_item.go} (93%) rename internal/provider/{type_publisher.go => types/publisher.go} (94%) rename internal/provider/{type_publisher_apps_list_response_data.go => types/publisher_apps_list_response_data.go} (98%) rename internal/provider/{type_publisher_assessment.go => types/publisher_assessment.go} (93%) rename internal/provider/{type_publisher_bulk_item.go => types/publisher_bulk_item.go} (98%) rename internal/provider/{type_publisher_bulk_item_assessment.go => types/publisher_bulk_item_assessment.go} (87%) rename internal/provider/{type_publisher_item.go => types/publisher_item.go} (94%) rename internal/provider/{type_publisher_upgrade_failed_reason.go => types/publisher_upgrade_failed_reason.go} (93%) rename internal/provider/{type_publisher_upgrade_profile_get_response_data.go => types/publisher_upgrade_profile_get_response_data.go} (91%) rename internal/provider/{type_publishers.go => types/publishers.go} (93%) rename internal/provider/{type_reachability.go => types/reachability.go} (94%) rename internal/provider/{type_release_item.go => types/release_item.go} (94%) rename internal/provider/{type_post_steering_apps_private_tags_getpolicyinuse_data.go => types/retrieve_npa_policies_in_use_data.go} (69%) rename internal/provider/{type_rule_order.go => types/rule_order.go} (95%) rename internal/provider/{type_service_publisher_assignment_item.go => types/service_publisher_assignment_item.go} (95%) rename internal/provider/{type_tag_item.go => types/tag_item.go} (93%) rename internal/provider/{type_tag_item_no_id.go => types/tag_item_no_id.go} (92%) rename internal/provider/{type_upgrade_failed_reason.go => types/upgrade_failed_reason.go} (95%) rename internal/provider/{type_upgrade_profiles.go => types/upgrade_profiles.go} (98%) rename internal/provider/{type_upgrade_status.go => types/upgrade_status.go} (92%) create mode 100644 internal/sdk/.gitattributes create mode 100644 internal/sdk/.gitignore create mode 100644 internal/sdk/internal/hooks/hooks.go create mode 100644 internal/sdk/internal/hooks/registration.go rename internal/sdk/{pkg => internal}/utils/contenttype.go (100%) rename internal/sdk/{pkg => internal}/utils/form.go (99%) rename internal/sdk/{pkg => internal}/utils/headers.go (100%) rename internal/sdk/{pkg => internal}/utils/json.go (99%) rename internal/sdk/{pkg => internal}/utils/pathparams.go (99%) rename internal/sdk/{pkg => internal}/utils/queryparams.go (100%) rename internal/sdk/{pkg => internal}/utils/requestbody.go (94%) rename internal/sdk/{pkg => internal}/utils/retries.go (100%) rename internal/sdk/{pkg => internal}/utils/security.go (63%) rename internal/sdk/{pkg => internal}/utils/utils.go (83%) rename internal/sdk/{pkg/models/sdkerrors => models/errors}/sdkerror.go (97%) rename internal/sdk/{pkg/models/operations/getinfrastructurepublishersalertsconfiguration.go => models/operations/configurenpapublisheralerts.go} (58%) rename internal/sdk/{pkg/models/operations/poststeeringgretunnels.go => models/operations/creategretunnels.go} (61%) rename internal/sdk/{pkg/models/operations/poststeeringipsectunnels.go => models/operations/createipsectunnels.go} (61%) create mode 100644 internal/sdk/models/operations/createnpaapps.go create mode 100644 internal/sdk/models/operations/createnpapolicygroups.go rename internal/sdk/{pkg/models/operations/postpolicynparules.go => models/operations/createnpapolicyrules.go} (57%) rename internal/sdk/{pkg/models/operations/postinfrastructurepublishers.go => models/operations/createnpapublishers.go} (70%) create mode 100644 internal/sdk/models/operations/createnpapublisherupradeprofiles.go rename internal/sdk/{pkg/models/operations/getsteeringappsprivatetags.go => models/operations/createnpatags.go} (63%) create mode 100644 internal/sdk/models/operations/createscimgroups.go create mode 100644 internal/sdk/models/operations/createscimusers.go rename internal/sdk/{pkg/models/operations/deletesteeringgretunnelsid.go => models/operations/deletegretunnels.go} (60%) rename internal/sdk/{pkg/models/operations/deletesteeringipsectunnelsid.go => models/operations/deleteipsectunnels.go} (59%) rename internal/sdk/{pkg/models/operations/deletesteeringappsprivateprivateappid.go => models/operations/deletenpaapps.go} (51%) rename internal/sdk/{pkg/models/operations/deletepolicynpapolicygroupsid.go => models/operations/deletenpapolicygroups.go} (62%) rename internal/sdk/{pkg/models/operations/deletepolicynparulesid.go => models/operations/deletenpapolicyrules.go} (56%) create mode 100644 internal/sdk/models/operations/deletenpapubliserupgradeprofiles.go create mode 100644 internal/sdk/models/operations/deletenpapublishers.go rename internal/sdk/{pkg/models/operations/poststeeringappsprivatetags.go => models/operations/deletenpatags.go} (63%) rename internal/sdk/{pkg/models/operations/deletesteeringappsprivatetagstagid.go => models/operations/deletenpatagsbyid.go} (52%) create mode 100644 internal/sdk/models/operations/deletescimusers.go create mode 100644 internal/sdk/models/operations/deletescimusersbyid.go create mode 100644 internal/sdk/models/operations/generatenpapublishertoken.go rename internal/sdk/{pkg/models/operations/getsteeringgrepops.go => models/operations/getgrepops.go} (68%) rename internal/sdk/{pkg/models/operations/getsteeringgrepopsid.go => models/operations/getgrepopsbyid.go} (62%) rename internal/sdk/{pkg/models/operations/getsteeringgretunnels.go => models/operations/getgretunnels.go} (65%) rename internal/sdk/{pkg/models/operations/getsteeringgretunnelsid.go => models/operations/getgretunnelsbyid.go} (61%) rename internal/sdk/{pkg/models/operations/getsteeringipsecpops.go => models/operations/getipsecpops.go} (67%) rename internal/sdk/{pkg/models/operations/getsteeringipsecpopsid.go => models/operations/getipsecpopsbyid.go} (62%) rename internal/sdk/{pkg/models/operations/getsteeringipsectunnels.go => models/operations/getipsectunnels.go} (65%) rename internal/sdk/{pkg/models/operations/getsteeringipsectunnelsid.go => models/operations/getipsectunnelsbyid.go} (61%) rename internal/sdk/{pkg/models/operations/getsteeringappsprivate.go => models/operations/getnpaapps.go} (63%) rename internal/sdk/{pkg/models/operations/getsteeringappsprivateprivateappid.go => models/operations/getnpaappsbyid.go} (59%) rename internal/sdk/{pkg/models/operations/getpolicynpapolicygroups.go => models/operations/getnpapolicygroups.go} (67%) rename internal/sdk/{pkg/models/operations/getpolicynpapolicygroupsid.go => models/operations/getnpapolicygroupsbyid.go} (54%) rename internal/sdk/{pkg/models/operations/getpolicynparules.go => models/operations/getnpapolicyrules.go} (72%) rename internal/sdk/{pkg/models/operations/getpolicynparulesid.go => models/operations/getnpapolicyrulesbyid.go} (58%) rename internal/sdk/{pkg/models/operations/putinfrastructurepublishersalertsconfiguration.go => models/operations/getnpapublisheralerts.go} (58%) rename internal/sdk/{pkg/models/operations/getinfrastructurepublisherspublisheridapps.go => models/operations/getnpapublisherapps.go} (57%) rename internal/sdk/{pkg/models/operations/getinfrastructurepublisherspublisherid.go => models/operations/getnpapublisherbyid.go} (58%) rename internal/sdk/{pkg/models/operations/getinfrastructurepublishersreleases.go => models/operations/getnpapublisherobjects.go} (59%) rename internal/sdk/{pkg/models/operations/getinfrastructurepublishers.go => models/operations/getnpapublishers.go} (62%) rename internal/sdk/{pkg/models/operations/getinfrastructurepublisherupgradeprofilesupgradeprofileid.go => models/operations/getnpapublisherupgradeprofiles.go} (54%) rename internal/sdk/{pkg/models/operations/patchsteeringappsprivatetags.go => models/operations/getnpatags.go} (62%) rename internal/sdk/{pkg/models/operations/getsteeringappsprivatetagstagid.go => models/operations/getnpatagsbyid.go} (60%) rename internal/sdk/{pkg/models/operations/getinfrastructurepublisherupgradeprofiles.go => models/operations/getpublisherupgradeprofiles.go} (58%) create mode 100644 internal/sdk/models/operations/getscimgroups.go create mode 100644 internal/sdk/models/operations/getscimgroupsbyid.go create mode 100644 internal/sdk/models/operations/getscimusers.go create mode 100644 internal/sdk/models/operations/getscimusersbyid.go create mode 100644 internal/sdk/models/operations/getusers.go create mode 100644 internal/sdk/models/operations/getusersid.go create mode 100644 internal/sdk/models/operations/options.go rename internal/sdk/{pkg/models/operations/patchsteeringgretunnelsid.go => models/operations/patchgretunnelsbyid.go} (60%) rename internal/sdk/{pkg/models/operations/patchsteeringipsectunnelsid.go => models/operations/patchipsectunnelsbyid.go} (60%) create mode 100644 internal/sdk/models/operations/patchnpaappsbyid.go create mode 100644 internal/sdk/models/operations/patchnpapolicygroupsbyid.go create mode 100644 internal/sdk/models/operations/patchnpapolicyrulesbyid.go rename internal/sdk/{pkg/models/operations/deletesteeringappsprivatetags.go => models/operations/patchnpatags.go} (62%) create mode 100644 internal/sdk/models/operations/postusers.go create mode 100644 internal/sdk/models/operations/putscimgroupsbyid.go create mode 100644 internal/sdk/models/operations/putscimusersbyid.go create mode 100644 internal/sdk/models/operations/putusersid.go rename internal/sdk/{pkg/models/operations/poststeeringappsprivategetpolicyinuse.go => models/operations/querynpapolicyinuse.go} (52%) create mode 100644 internal/sdk/models/operations/replacenpaappsbyid.go rename internal/sdk/{pkg/models/operations/putinfrastructurepublisherspublisherid.go => models/operations/replacenpapublisherbyid.go} (68%) create mode 100644 internal/sdk/models/operations/replacenpapublisherupgradeprofiles.go rename internal/sdk/{pkg/models/operations/putsteeringappsprivatetagstagid.go => models/operations/replacenpatagsbyid.go} (61%) create mode 100644 internal/sdk/models/operations/retrievenpapoliciesinuse.go rename internal/sdk/{pkg/models/operations/putinfrastructurepublishersbulk.go => models/operations/triggernpapublisherupdate.go} (61%) create mode 100644 internal/sdk/models/operations/updatenpapublisherbyid.go create mode 100644 internal/sdk/models/operations/updatenpapublisherprofilesbulk.go create mode 100644 internal/sdk/models/operations/updatescimusersbyid.go rename internal/sdk/{pkg => }/models/shared/assessment.go (100%) rename internal/sdk/{pkg => }/models/shared/data.go (100%) rename internal/sdk/{pkg => }/models/shared/fourhundred.go (100%) rename internal/sdk/{pkg => }/models/shared/grepatchresponse200.go (100%) rename internal/sdk/{pkg => }/models/shared/grepopresponse200.go (100%) rename internal/sdk/{pkg => }/models/shared/grepopresultitem.go (100%) rename internal/sdk/{pkg => }/models/shared/greresponse200.go (100%) rename internal/sdk/{pkg => }/models/shared/greresponse201.go (100%) rename internal/sdk/{pkg => }/models/shared/greresponse400.go (100%) rename internal/sdk/{pkg => }/models/shared/greresponse403.go (100%) rename internal/sdk/{pkg => }/models/shared/greresponse404.go (100%) rename internal/sdk/{pkg => }/models/shared/greresponse405.go (100%) rename internal/sdk/{pkg => }/models/shared/greresponse409.go (100%) rename internal/sdk/{pkg => }/models/shared/greresponse429.go (100%) rename internal/sdk/{pkg => }/models/shared/greresponse500.go (100%) rename internal/sdk/{pkg => }/models/shared/gretunnelpopresultitem.go (100%) rename internal/sdk/{pkg => }/models/shared/gretunnelrequestpatch.go (100%) rename internal/sdk/{pkg => }/models/shared/gretunnelrequestpost.go (100%) rename internal/sdk/{pkg => }/models/shared/gretunnelresponse200.go (100%) rename internal/sdk/{pkg => }/models/shared/gretunnelresultitem.go (100%) rename internal/sdk/{pkg => }/models/shared/ipsecpatchresponse200.go (100%) rename internal/sdk/{pkg => }/models/shared/ipsecpopresponse200.go (100%) rename internal/sdk/{pkg => }/models/shared/ipsecpopresultitem.go (100%) rename internal/sdk/{pkg => }/models/shared/ipsecresponse200.go (100%) rename internal/sdk/{pkg => }/models/shared/ipsecresponse201.go (100%) rename internal/sdk/{pkg => }/models/shared/ipsecresponse400.go (100%) rename internal/sdk/{pkg => }/models/shared/ipsecresponse403.go (100%) rename internal/sdk/{pkg => }/models/shared/ipsecresponse404.go (100%) rename internal/sdk/{pkg => }/models/shared/ipsecresponse405.go (100%) rename internal/sdk/{pkg => }/models/shared/ipsecresponse409.go (100%) rename internal/sdk/{pkg => }/models/shared/ipsecresponse429.go (100%) rename internal/sdk/{pkg => }/models/shared/ipsecresponse500.go (100%) rename internal/sdk/{pkg => }/models/shared/ipsectunnelpopresultitem.go (100%) rename internal/sdk/{pkg => }/models/shared/ipsectunnelrequestpatch.go (100%) rename internal/sdk/{pkg => }/models/shared/ipsectunnelrequestpost.go (100%) rename internal/sdk/{pkg => }/models/shared/ipsectunnelresponse200.go (100%) rename internal/sdk/{pkg => }/models/shared/ipsectunnelresultitem.go (100%) rename internal/sdk/{pkg => }/models/shared/npapolicygrouprequest.go (100%) rename internal/sdk/{pkg => }/models/shared/npapolicygroupresponse.go (100%) rename internal/sdk/{pkg => }/models/shared/npapolicygroupresponse400.go (100%) rename internal/sdk/{pkg => }/models/shared/npapolicygroupresponseitem.go (100%) rename internal/sdk/{pkg => }/models/shared/npapolicylistresponse.go (100%) rename internal/sdk/{pkg => }/models/shared/npapolicyrequest.go (100%) rename internal/sdk/{pkg => }/models/shared/npapolicyresponse400.go (100%) rename internal/sdk/{pkg => }/models/shared/npapolicyresponseitem.go (100%) rename internal/sdk/{pkg => }/models/shared/npapolicyruledata.go (100%) rename internal/sdk/{pkg => }/models/shared/npapolicyruledlp.go (100%) rename internal/sdk/{pkg => }/models/shared/privateappsgetresponse.go (100%) rename internal/sdk/{pkg => }/models/shared/privateappsputrequest.go (100%) rename internal/sdk/{pkg => }/models/shared/privateappsrequest.go (100%) rename internal/sdk/{pkg => }/models/shared/privateappsresponse.go (100%) rename internal/sdk/{pkg => }/models/shared/privateappsresponse400.go (100%) rename internal/sdk/{pkg => }/models/shared/protocolitem.go (100%) rename internal/sdk/{pkg => }/models/shared/protocolresponseitem.go (100%) rename internal/sdk/{pkg => }/models/shared/publisher.go (77%) rename internal/sdk/{pkg => }/models/shared/publisherappslistresponse.go (100%) rename internal/sdk/{pkg => }/models/shared/publisherbulkitem.go (100%) rename internal/sdk/{pkg => }/models/shared/publisherbulkrequest.go (98%) rename internal/sdk/{pkg => }/models/shared/publisheritem.go (100%) rename internal/sdk/{pkg => }/models/shared/publisherpostrequest.go (98%) rename internal/sdk/{pkg => }/models/shared/publisherputrequest.go (100%) rename internal/sdk/{pkg => }/models/shared/publisherresponse.go (100%) rename internal/sdk/{pkg => }/models/shared/publishersalertgetresponse.go (100%) rename internal/sdk/{pkg => }/models/shared/publishersalertputrequest.go (100%) rename internal/sdk/{pkg => }/models/shared/publishersbulkresponse.go (100%) rename internal/sdk/{pkg => }/models/shared/publishersgetresponse.go (100%) rename internal/sdk/{pkg => }/models/shared/publishersreleasegetresponse.go (100%) rename internal/sdk/{pkg => }/models/shared/publishersresponse400.go (100%) rename internal/sdk/{pkg => }/models/shared/publisherupgradeprofilebulkrequest.go (100%) rename internal/sdk/{pkg => }/models/shared/publisherupgradeprofilebulkresponse.go (100%) rename internal/sdk/{pkg => }/models/shared/publisherupgradeprofilegetresponse.go (100%) rename internal/sdk/{pkg => }/models/shared/publisherupgradeprofilepostrequest.go (100%) rename internal/sdk/{pkg => }/models/shared/publisherupgradeprofileputrequest.go (100%) rename internal/sdk/{pkg => }/models/shared/publisherupgradeprofileresponse.go (100%) rename internal/sdk/{pkg => }/models/shared/releaseitem.go (100%) rename internal/sdk/{pkg => }/models/shared/security.go (100%) rename internal/sdk/{pkg => }/models/shared/servicepublisherassignmentitem.go (100%) rename internal/sdk/{pkg => }/models/shared/tagitem.go (100%) rename internal/sdk/{pkg => }/models/shared/tagitemnoid.go (100%) rename internal/sdk/{pkg => }/models/shared/tagrequest.go (100%) rename internal/sdk/{pkg => }/models/shared/tagresponse.go (100%) rename internal/sdk/{pkg => }/models/shared/tagresponse400.go (100%) rename internal/sdk/{pkg => }/models/shared/upgradefailedreason.go (100%) rename internal/sdk/{pkg => }/models/shared/upgradepublisherresponse.go (100%) rename internal/sdk/{pkg => }/models/shared/upgradestatus.go (100%) delete mode 100644 internal/sdk/pkg/models/operations/deleteinfrastructurepublisherspublisherid.go delete mode 100644 internal/sdk/pkg/models/operations/deleteinfrastructurepublisherupgradeprofilesupgradeprofileid.go create mode 100644 internal/sdk/pkg/models/operations/getusers.go create mode 100644 internal/sdk/pkg/models/operations/getusersid.go delete mode 100644 internal/sdk/pkg/models/operations/patchinfrastructurepublisherspublisherid.go delete mode 100644 internal/sdk/pkg/models/operations/patchpolicynpapolicygroupsid.go delete mode 100644 internal/sdk/pkg/models/operations/patchpolicynparulesid.go delete mode 100644 internal/sdk/pkg/models/operations/patchsteeringappsprivateprivateappid.go delete mode 100644 internal/sdk/pkg/models/operations/postinfrastructurepublisherspublisheridregistrationtoken.go delete mode 100644 internal/sdk/pkg/models/operations/postinfrastructurepublisherupgradeprofiles.go delete mode 100644 internal/sdk/pkg/models/operations/postpolicynpapolicygroups.go delete mode 100644 internal/sdk/pkg/models/operations/poststeeringappsprivate.go delete mode 100644 internal/sdk/pkg/models/operations/poststeeringappsprivatetagsgetpolicyinuse.go create mode 100644 internal/sdk/pkg/models/operations/postusers.go delete mode 100644 internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesbulk.go delete mode 100644 internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesupgradeprofileid.go delete mode 100644 internal/sdk/pkg/models/operations/putsteeringappsprivateprivateappid.go create mode 100644 internal/sdk/pkg/models/operations/putusersid.go create mode 100644 internal/sdk/scimgroups.go create mode 100644 internal/sdk/scimusers.go delete mode 100644 internal/sdk/sdk.go create mode 100644 internal/sdk/terraformproviderns.go rename internal/sdk/{pkg => }/types/bigint.go (100%) rename internal/sdk/{pkg => }/types/date.go (100%) rename internal/sdk/{pkg => }/types/datetime.go (100%) rename internal/sdk/{pkg => }/types/decimal.go (100%) rename internal/sdk/{pkg => }/types/pointers.go (100%) create mode 100644 swagger.yaml diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index b054f96..224901e 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,30 +1,205 @@ lockVersion: 2.0.0 id: a76d3a50-7d28-47aa-96a0-41eb7882b85b management: - docChecksum: de10d9c6e96799844dacae380ef9ac16 - docVersion: 1.0.0 - speakeasyVersion: 1.210.0 - generationVersion: 2.281.2 - releaseVersion: 0.0.3 - configChecksum: 74d90dfb6f4d10b3cff53e6bee44d6ec + docChecksum: 8550aa786ab80b14b96e7cd246369585 + docVersion: 2.0.0 + speakeasyVersion: 1.220.0 + generationVersion: 2.286.7 + releaseVersion: 0.2.2 + configChecksum: f71bf187ba4b699689e55adddfe629ce features: terraform: constsAndDefaults: 0.1.4 - core: 3.10.3 - globalSecurity: 2.81.5 + core: 3.11.5 + globalSecurity: 2.81.6 globalServerURLs: 2.82.1 groups: 2.81.2 ignores: 2.81.1 nameOverrides: 2.81.1 typeOverrides: 2.81.1 - unions: 2.81.9 + unions: 2.81.10 generatedFiles: - internal/sdk/npapublishers.go - internal/sdk/publishertoken.go - internal/sdk/npapublishersapps.go - internal/sdk/npapublishersreleases.go - internal/sdk/npapublisherupgradeprofiles.go - - internal/sdk/sdk.go + - internal/sdk/scimusers.go + - internal/sdk/scimgroups.go + - internal/sdk/terraformproviderns.go + - internal/sdk/models/errors/sdkerror.go + - internal/sdk/types/bigint.go + - internal/sdk/types/date.go + - internal/sdk/types/datetime.go + - internal/sdk/types/decimal.go + - internal/sdk/types/pointers.go + - internal/sdk/internal/utils/contenttype.go + - internal/sdk/internal/utils/form.go + - internal/sdk/internal/utils/headers.go + - internal/sdk/internal/utils/json.go + - internal/sdk/internal/utils/pathparams.go + - internal/sdk/internal/utils/queryparams.go + - internal/sdk/internal/utils/requestbody.go + - internal/sdk/internal/utils/retries.go + - internal/sdk/internal/utils/security.go + - internal/sdk/internal/utils/utils.go + - internal/sdk/models/operations/updatenpapublisherbyid.go + - internal/sdk/models/operations/triggernpapublisherupdate.go + - internal/sdk/models/operations/getnpapublisheralerts.go + - internal/sdk/models/operations/configurenpapublisheralerts.go + - internal/sdk/models/operations/updatenpapublisherprofilesbulk.go + - internal/sdk/models/operations/getnpapolicyrules.go + - internal/sdk/models/operations/createnpapolicyrules.go + - internal/sdk/models/operations/deletenpapolicyrules.go + - internal/sdk/models/operations/patchnpapolicyrulesbyid.go + - internal/sdk/models/operations/getnpapolicyrulesbyid.go + - internal/sdk/models/operations/getnpapolicygroups.go + - internal/sdk/models/operations/createnpapolicygroups.go + - internal/sdk/models/operations/deletenpapolicygroups.go + - internal/sdk/models/operations/patchnpapolicygroupsbyid.go + - internal/sdk/models/operations/getnpapolicygroupsbyid.go + - internal/sdk/models/operations/getnpaapps.go + - internal/sdk/models/operations/createnpaapps.go + - internal/sdk/models/operations/deletenpaapps.go + - internal/sdk/models/operations/replacenpaappsbyid.go + - internal/sdk/models/operations/patchnpaappsbyid.go + - internal/sdk/models/operations/getnpaappsbyid.go + - internal/sdk/models/operations/querynpapolicyinuse.go + - internal/sdk/models/operations/createnpatags.go + - internal/sdk/models/operations/patchnpatags.go + - internal/sdk/models/operations/deletenpatags.go + - internal/sdk/models/operations/getnpatags.go + - internal/sdk/models/operations/getnpatagsbyid.go + - internal/sdk/models/operations/replacenpatagsbyid.go + - internal/sdk/models/operations/deletenpatagsbyid.go + - internal/sdk/models/operations/retrievenpapoliciesinuse.go + - internal/sdk/models/operations/getgrepops.go + - internal/sdk/models/operations/getgrepopsbyid.go + - internal/sdk/models/operations/getgretunnels.go + - internal/sdk/models/operations/creategretunnels.go + - internal/sdk/models/operations/getgretunnelsbyid.go + - internal/sdk/models/operations/patchgretunnelsbyid.go + - internal/sdk/models/operations/deletegretunnels.go + - internal/sdk/models/operations/getipsecpops.go + - internal/sdk/models/operations/getipsecpopsbyid.go + - internal/sdk/models/operations/getipsectunnels.go + - internal/sdk/models/operations/createipsectunnels.go + - internal/sdk/models/operations/getipsectunnelsbyid.go + - internal/sdk/models/operations/patchipsectunnelsbyid.go + - internal/sdk/models/operations/deleteipsectunnels.go + - internal/sdk/models/operations/getnpapublishers.go + - internal/sdk/models/operations/createnpapublishers.go + - internal/sdk/models/operations/deletenpapublishers.go + - internal/sdk/models/operations/replacenpapublisherbyid.go + - internal/sdk/models/operations/getnpapublisherbyid.go + - internal/sdk/models/operations/generatenpapublishertoken.go + - internal/sdk/models/operations/getnpapublisherapps.go + - internal/sdk/models/operations/getnpapublisherobjects.go + - internal/sdk/models/operations/getpublisherupgradeprofiles.go + - internal/sdk/models/operations/createnpapublisherupradeprofiles.go + - internal/sdk/models/operations/deletenpapubliserupgradeprofiles.go + - internal/sdk/models/operations/replacenpapublisherupgradeprofiles.go + - internal/sdk/models/operations/getnpapublisherupgradeprofiles.go + - internal/sdk/models/operations/createscimusers.go + - internal/sdk/models/operations/getscimusers.go + - internal/sdk/models/operations/putscimusersbyid.go + - internal/sdk/models/operations/getscimusersbyid.go + - internal/sdk/models/operations/updatescimusersbyid.go + - internal/sdk/models/operations/deletescimusers.go + - internal/sdk/models/operations/createscimgroups.go + - internal/sdk/models/operations/getscimgroups.go + - internal/sdk/models/operations/putscimgroupsbyid.go + - internal/sdk/models/operations/getscimgroupsbyid.go + - internal/sdk/models/operations/deletescimusersbyid.go + - internal/sdk/models/shared/fourhundred.go + - internal/sdk/models/shared/publishersresponse400.go + - internal/sdk/models/shared/publisherresponse.go + - internal/sdk/models/shared/tagitem.go + - internal/sdk/models/shared/publisherputrequest.go + - internal/sdk/models/shared/publishersbulkresponse.go + - internal/sdk/models/shared/publisherbulkitem.go + - internal/sdk/models/shared/publisherbulkrequest.go + - internal/sdk/models/shared/publishersalertgetresponse.go + - internal/sdk/models/shared/publishersalertputrequest.go + - internal/sdk/models/shared/publisherupgradeprofilebulkresponse.go + - internal/sdk/models/shared/upgradepublisherresponse.go + - internal/sdk/models/shared/publisherupgradeprofilebulkrequest.go + - internal/sdk/models/shared/npapolicyresponse400.go + - internal/sdk/models/shared/npapolicylistresponse.go + - internal/sdk/models/shared/npapolicyresponseitem.go + - internal/sdk/models/shared/npapolicyruledata.go + - internal/sdk/models/shared/npapolicyruledlp.go + - internal/sdk/models/shared/npapolicyrequest.go + - internal/sdk/models/shared/npapolicygroupresponse400.go + - internal/sdk/models/shared/npapolicygroupresponse.go + - internal/sdk/models/shared/npapolicygroupresponseitem.go + - internal/sdk/models/shared/npapolicygrouprequest.go + - internal/sdk/models/shared/privateappsresponse400.go + - internal/sdk/models/shared/privateappsgetresponse.go + - internal/sdk/models/shared/privateappsresponse.go + - internal/sdk/models/shared/servicepublisherassignmentitem.go + - internal/sdk/models/shared/protocolresponseitem.go + - internal/sdk/models/shared/privateappsrequest.go + - internal/sdk/models/shared/tagitemnoid.go + - internal/sdk/models/shared/publisheritem.go + - internal/sdk/models/shared/protocolitem.go + - internal/sdk/models/shared/privateappsputrequest.go + - internal/sdk/models/shared/tagresponse400.go + - internal/sdk/models/shared/tagresponse.go + - internal/sdk/models/shared/tagrequest.go + - internal/sdk/models/shared/greresponse500.go + - internal/sdk/models/shared/greresponse429.go + - internal/sdk/models/shared/greresponse405.go + - internal/sdk/models/shared/greresponse403.go + - internal/sdk/models/shared/greresponse400.go + - internal/sdk/models/shared/grepopresponse200.go + - internal/sdk/models/shared/grepopresultitem.go + - internal/sdk/models/shared/greresponse404.go + - internal/sdk/models/shared/gretunnelresponse200.go + - internal/sdk/models/shared/gretunnelresultitem.go + - internal/sdk/models/shared/gretunnelpopresultitem.go + - internal/sdk/models/shared/greresponse409.go + - internal/sdk/models/shared/greresponse201.go + - internal/sdk/models/shared/gretunnelrequestpost.go + - internal/sdk/models/shared/grepatchresponse200.go + - internal/sdk/models/shared/gretunnelrequestpatch.go + - internal/sdk/models/shared/greresponse200.go + - internal/sdk/models/shared/ipsecresponse500.go + - internal/sdk/models/shared/ipsecresponse429.go + - internal/sdk/models/shared/ipsecresponse405.go + - internal/sdk/models/shared/ipsecresponse403.go + - internal/sdk/models/shared/ipsecresponse400.go + - internal/sdk/models/shared/ipsecpopresponse200.go + - internal/sdk/models/shared/ipsecpopresultitem.go + - internal/sdk/models/shared/ipsecresponse404.go + - internal/sdk/models/shared/ipsectunnelresponse200.go + - internal/sdk/models/shared/ipsectunnelresultitem.go + - internal/sdk/models/shared/ipsectunnelpopresultitem.go + - internal/sdk/models/shared/ipsecresponse409.go + - internal/sdk/models/shared/ipsecresponse201.go + - internal/sdk/models/shared/ipsectunnelrequestpost.go + - internal/sdk/models/shared/ipsecpatchresponse200.go + - internal/sdk/models/shared/ipsectunnelrequestpatch.go + - internal/sdk/models/shared/ipsecresponse200.go + - internal/sdk/models/shared/publishersgetresponse.go + - internal/sdk/models/shared/data.go + - internal/sdk/models/shared/publisher.go + - internal/sdk/models/shared/upgradestatus.go + - internal/sdk/models/shared/upgradefailedreason.go + - internal/sdk/models/shared/assessment.go + - internal/sdk/models/shared/publisherpostrequest.go + - internal/sdk/models/shared/publisherappslistresponse.go + - internal/sdk/models/shared/publishersreleasegetresponse.go + - internal/sdk/models/shared/releaseitem.go + - internal/sdk/models/shared/publisherupgradeprofilegetresponse.go + - internal/sdk/models/shared/publisherupgradeprofileresponse.go + - internal/sdk/models/shared/publisherupgradeprofilepostrequest.go + - internal/sdk/models/shared/publisherupgradeprofileputrequest.go + - internal/sdk/models/shared/security.go + - internal/sdk/.gitignore + - internal/sdk/.gitattributes + - internal/sdk/internal/hooks/registration.go + - internal/sdk/internal/hooks/hooks.go - examples/README.md - go.mod - go.sum @@ -53,22 +228,6 @@ generatedFiles: - internal/provider/reflect/slice.go - internal/provider/reflect/struct.go - internal/provider/utils.go - - internal/sdk/pkg/models/sdkerrors/sdkerror.go - - internal/sdk/pkg/types/bigint.go - - internal/sdk/pkg/types/date.go - - internal/sdk/pkg/types/datetime.go - - internal/sdk/pkg/types/decimal.go - - internal/sdk/pkg/types/pointers.go - - internal/sdk/pkg/utils/contenttype.go - - internal/sdk/pkg/utils/form.go - - internal/sdk/pkg/utils/headers.go - - internal/sdk/pkg/utils/json.go - - internal/sdk/pkg/utils/pathparams.go - - internal/sdk/pkg/utils/queryparams.go - - internal/sdk/pkg/utils/requestbody.go - - internal/sdk/pkg/utils/retries.go - - internal/sdk/pkg/utils/security.go - - internal/sdk/pkg/utils/utils.go - internal/validators/DateValidator.go - internal/validators/ExactlyOneChild.go - internal/validators/JSONParseValidator.go @@ -85,182 +244,44 @@ generatedFiles: - main.go - terraform-registry-manifest.json - tools/tools.go - - internal/sdk/pkg/models/operations/patchinfrastructurepublisherspublisherid.go - - internal/sdk/pkg/models/operations/putinfrastructurepublishersbulk.go - - internal/sdk/pkg/models/operations/getinfrastructurepublishersalertsconfiguration.go - - internal/sdk/pkg/models/operations/putinfrastructurepublishersalertsconfiguration.go - - internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesbulk.go - - internal/sdk/pkg/models/operations/getpolicynparules.go - - internal/sdk/pkg/models/operations/postpolicynparules.go - - internal/sdk/pkg/models/operations/deletepolicynparulesid.go - - internal/sdk/pkg/models/operations/patchpolicynparulesid.go - - internal/sdk/pkg/models/operations/getpolicynparulesid.go - - internal/sdk/pkg/models/operations/getpolicynpapolicygroups.go - - internal/sdk/pkg/models/operations/postpolicynpapolicygroups.go - - internal/sdk/pkg/models/operations/deletepolicynpapolicygroupsid.go - - internal/sdk/pkg/models/operations/patchpolicynpapolicygroupsid.go - - internal/sdk/pkg/models/operations/getpolicynpapolicygroupsid.go - - internal/sdk/pkg/models/operations/getsteeringappsprivate.go - - internal/sdk/pkg/models/operations/poststeeringappsprivate.go - - internal/sdk/pkg/models/operations/deletesteeringappsprivateprivateappid.go - - internal/sdk/pkg/models/operations/putsteeringappsprivateprivateappid.go - - internal/sdk/pkg/models/operations/patchsteeringappsprivateprivateappid.go - - internal/sdk/pkg/models/operations/getsteeringappsprivateprivateappid.go - - internal/sdk/pkg/models/operations/poststeeringappsprivategetpolicyinuse.go - - internal/sdk/pkg/models/operations/poststeeringappsprivatetags.go - - internal/sdk/pkg/models/operations/patchsteeringappsprivatetags.go - - internal/sdk/pkg/models/operations/deletesteeringappsprivatetags.go - - internal/sdk/pkg/models/operations/getsteeringappsprivatetags.go - - internal/sdk/pkg/models/operations/getsteeringappsprivatetagstagid.go - - internal/sdk/pkg/models/operations/putsteeringappsprivatetagstagid.go - - internal/sdk/pkg/models/operations/deletesteeringappsprivatetagstagid.go - - internal/sdk/pkg/models/operations/poststeeringappsprivatetagsgetpolicyinuse.go - - internal/sdk/pkg/models/operations/getsteeringgrepops.go - - internal/sdk/pkg/models/operations/getsteeringgrepopsid.go - - internal/sdk/pkg/models/operations/getsteeringgretunnels.go - - internal/sdk/pkg/models/operations/poststeeringgretunnels.go - - internal/sdk/pkg/models/operations/getsteeringgretunnelsid.go - - internal/sdk/pkg/models/operations/patchsteeringgretunnelsid.go - - internal/sdk/pkg/models/operations/deletesteeringgretunnelsid.go - - internal/sdk/pkg/models/operations/getsteeringipsecpops.go - - internal/sdk/pkg/models/operations/getsteeringipsecpopsid.go - - internal/sdk/pkg/models/operations/getsteeringipsectunnels.go - - internal/sdk/pkg/models/operations/poststeeringipsectunnels.go - - internal/sdk/pkg/models/operations/getsteeringipsectunnelsid.go - - internal/sdk/pkg/models/operations/patchsteeringipsectunnelsid.go - - internal/sdk/pkg/models/operations/deletesteeringipsectunnelsid.go - - internal/sdk/pkg/models/operations/getinfrastructurepublishers.go - - internal/sdk/pkg/models/operations/postinfrastructurepublishers.go - - internal/sdk/pkg/models/operations/deleteinfrastructurepublisherspublisherid.go - - internal/sdk/pkg/models/operations/putinfrastructurepublisherspublisherid.go - - internal/sdk/pkg/models/operations/getinfrastructurepublisherspublisherid.go - - internal/sdk/pkg/models/operations/postinfrastructurepublisherspublisheridregistrationtoken.go - - internal/sdk/pkg/models/operations/getinfrastructurepublisherspublisheridapps.go - - internal/sdk/pkg/models/operations/getinfrastructurepublishersreleases.go - - internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofiles.go - - internal/sdk/pkg/models/operations/postinfrastructurepublisherupgradeprofiles.go - - internal/sdk/pkg/models/operations/deleteinfrastructurepublisherupgradeprofilesupgradeprofileid.go - - internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesupgradeprofileid.go - - internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofilesupgradeprofileid.go - - internal/sdk/pkg/models/shared/fourhundred.go - - internal/sdk/pkg/models/shared/publishersresponse400.go - - internal/sdk/pkg/models/shared/publisherresponse.go - - internal/sdk/pkg/models/shared/tagitem.go - - internal/sdk/pkg/models/shared/publisherputrequest.go - - internal/sdk/pkg/models/shared/publishersbulkresponse.go - - internal/sdk/pkg/models/shared/publisherbulkitem.go - - internal/sdk/pkg/models/shared/publisherbulkrequest.go - - internal/sdk/pkg/models/shared/publishersalertgetresponse.go - - internal/sdk/pkg/models/shared/publishersalertputrequest.go - - internal/sdk/pkg/models/shared/publisherupgradeprofilebulkresponse.go - - internal/sdk/pkg/models/shared/upgradepublisherresponse.go - - internal/sdk/pkg/models/shared/publisherupgradeprofilebulkrequest.go - - internal/sdk/pkg/models/shared/npapolicyresponse400.go - - internal/sdk/pkg/models/shared/npapolicylistresponse.go - - internal/sdk/pkg/models/shared/npapolicyresponseitem.go - - internal/sdk/pkg/models/shared/npapolicyruledata.go - - internal/sdk/pkg/models/shared/npapolicyruledlp.go - - internal/sdk/pkg/models/shared/npapolicyrequest.go - - internal/sdk/pkg/models/shared/npapolicygroupresponse400.go - - internal/sdk/pkg/models/shared/npapolicygroupresponse.go - - internal/sdk/pkg/models/shared/npapolicygroupresponseitem.go - - internal/sdk/pkg/models/shared/npapolicygrouprequest.go - - internal/sdk/pkg/models/shared/privateappsresponse400.go - - internal/sdk/pkg/models/shared/privateappsgetresponse.go - - internal/sdk/pkg/models/shared/privateappsresponse.go - - internal/sdk/pkg/models/shared/servicepublisherassignmentitem.go - - internal/sdk/pkg/models/shared/protocolresponseitem.go - - internal/sdk/pkg/models/shared/privateappsrequest.go - - internal/sdk/pkg/models/shared/tagitemnoid.go - - internal/sdk/pkg/models/shared/publisheritem.go - - internal/sdk/pkg/models/shared/protocolitem.go - - internal/sdk/pkg/models/shared/privateappsputrequest.go - - internal/sdk/pkg/models/shared/tagresponse400.go - - internal/sdk/pkg/models/shared/tagresponse.go - - internal/sdk/pkg/models/shared/tagrequest.go - - internal/sdk/pkg/models/shared/greresponse500.go - - internal/sdk/pkg/models/shared/greresponse429.go - - internal/sdk/pkg/models/shared/greresponse405.go - - internal/sdk/pkg/models/shared/greresponse403.go - - internal/sdk/pkg/models/shared/greresponse400.go - - internal/sdk/pkg/models/shared/grepopresponse200.go - - internal/sdk/pkg/models/shared/grepopresultitem.go - - internal/sdk/pkg/models/shared/greresponse404.go - - internal/sdk/pkg/models/shared/gretunnelresponse200.go - - internal/sdk/pkg/models/shared/gretunnelresultitem.go - - internal/sdk/pkg/models/shared/gretunnelpopresultitem.go - - internal/sdk/pkg/models/shared/greresponse409.go - - internal/sdk/pkg/models/shared/greresponse201.go - - internal/sdk/pkg/models/shared/gretunnelrequestpost.go - - internal/sdk/pkg/models/shared/grepatchresponse200.go - - internal/sdk/pkg/models/shared/gretunnelrequestpatch.go - - internal/sdk/pkg/models/shared/greresponse200.go - - internal/sdk/pkg/models/shared/ipsecresponse500.go - - internal/sdk/pkg/models/shared/ipsecresponse429.go - - internal/sdk/pkg/models/shared/ipsecresponse405.go - - internal/sdk/pkg/models/shared/ipsecresponse403.go - - internal/sdk/pkg/models/shared/ipsecresponse400.go - - internal/sdk/pkg/models/shared/ipsecpopresponse200.go - - internal/sdk/pkg/models/shared/ipsecpopresultitem.go - - internal/sdk/pkg/models/shared/ipsecresponse404.go - - internal/sdk/pkg/models/shared/ipsectunnelresponse200.go - - internal/sdk/pkg/models/shared/ipsectunnelresultitem.go - - internal/sdk/pkg/models/shared/ipsectunnelpopresultitem.go - - internal/sdk/pkg/models/shared/ipsecresponse409.go - - internal/sdk/pkg/models/shared/ipsecresponse201.go - - internal/sdk/pkg/models/shared/ipsectunnelrequestpost.go - - internal/sdk/pkg/models/shared/ipsecpatchresponse200.go - - internal/sdk/pkg/models/shared/ipsectunnelrequestpatch.go - - internal/sdk/pkg/models/shared/ipsecresponse200.go - - internal/sdk/pkg/models/shared/publishersgetresponse.go - - internal/sdk/pkg/models/shared/data.go - - internal/sdk/pkg/models/shared/publisher.go - - internal/sdk/pkg/models/shared/upgradestatus.go - - internal/sdk/pkg/models/shared/upgradefailedreason.go - - internal/sdk/pkg/models/shared/assessment.go - - internal/sdk/pkg/models/shared/publisherpostrequest.go - - internal/sdk/pkg/models/shared/publisherappslistresponse.go - - internal/sdk/pkg/models/shared/publishersreleasegetresponse.go - - internal/sdk/pkg/models/shared/releaseitem.go - - internal/sdk/pkg/models/shared/publisherupgradeprofilegetresponse.go - - internal/sdk/pkg/models/shared/publisherupgradeprofileresponse.go - - internal/sdk/pkg/models/shared/publisherupgradeprofilepostrequest.go - - internal/sdk/pkg/models/shared/publisherupgradeprofileputrequest.go - - internal/sdk/pkg/models/shared/security.go - - internal/provider/type_npa_policy_rule_dlp.go - - internal/provider/type_match_criteria_action.go - - internal/provider/type_activities.go - - internal/provider/type_private_apps_with_activities.go - - internal/provider/type_npa_policy_rule_data.go - - internal/provider/type_rule_order.go - - internal/provider/type_group_order.go - - internal/provider/type_tag_item.go - - internal/provider/type_publisher_bulk_item_assessment.go - - internal/provider/type_publisher_bulk_item.go - - internal/provider/type_apply.go - - internal/provider/type_publishers.go - - internal/provider/type_protocol_item.go - - internal/provider/type_publisher_item.go - - internal/provider/type_tag_item_no_id.go - - internal/provider/type_protocol_response_item.go - - internal/provider/type_reachability.go - - internal/provider/type_service_publisher_assignment_item.go - - internal/provider/type_npa_policy_response_item.go - - internal/provider/type_publisher_apps_list_response_data.go - - internal/provider/type_assessment.go - - internal/provider/type_publisher_assessment.go - - internal/provider/type_stitcher_id.go - - internal/provider/type_upgrade_failed_reason.go - - internal/provider/type_publisher_upgrade_failed_reason.go - - internal/provider/type_upgrade_status.go - - internal/provider/type_publisher.go - - internal/provider/type_data.go - - internal/provider/type_release_item.go - - internal/provider/type_upgrade_profiles.go - - internal/provider/type_publisher_upgrade_profile_get_response_data.go - - internal/provider/type_npa_policygroup_response_item.go - - internal/provider/type_private_apps_get_response_data.go - - internal/provider/type_post_steering_apps_private_tags_getpolicyinuse_data.go + - internal/provider/types/npa_policy_rule_dlp.go + - internal/provider/types/match_criteria_action.go + - internal/provider/types/activities.go + - internal/provider/types/private_apps_with_activities.go + - internal/provider/types/npa_policy_rule_data.go + - internal/provider/types/rule_order.go + - internal/provider/types/group_order.go + - internal/provider/types/tag_item.go + - internal/provider/types/publisher_bulk_item_assessment.go + - internal/provider/types/publisher_bulk_item.go + - internal/provider/types/apply.go + - internal/provider/types/publishers.go + - internal/provider/types/protocol_item.go + - internal/provider/types/publisher_item.go + - internal/provider/types/tag_item_no_id.go + - internal/provider/types/protocol_response_item.go + - internal/provider/types/reachability.go + - internal/provider/types/service_publisher_assignment_item.go + - internal/provider/types/members.go + - internal/provider/types/create_scim_groups_meta.go + - internal/provider/types/get_scim_groups_resources.go + - internal/provider/types/emails.go + - internal/provider/types/name.go + - internal/provider/types/npa_policy_response_item.go + - internal/provider/types/publisher_apps_list_response_data.go + - internal/provider/types/assessment.go + - internal/provider/types/publisher_assessment.go + - internal/provider/types/upgrade_failed_reason.go + - internal/provider/types/publisher_upgrade_failed_reason.go + - internal/provider/types/upgrade_status.go + - internal/provider/types/publisher.go + - internal/provider/types/data.go + - internal/provider/types/release_item.go + - internal/provider/types/upgrade_profiles.go + - internal/provider/types/publisher_upgrade_profile_get_response_data.go + - internal/provider/types/npa_policygroup_response_item.go + - internal/provider/types/private_apps_get_response_data.go + - internal/provider/types/retrieve_npa_policies_in_use_data.go - USAGE.md - internal/provider/provider.go - examples/provider/provider.tf @@ -291,6 +312,12 @@ generatedFiles: - internal/provider/publishertoken_resource.go - internal/provider/publishertoken_resource_sdk.go - examples/resources/terraform_publisher_token/resource.tf + - internal/provider/scimgroups_resource.go + - internal/provider/scimgroups_resource_sdk.go + - examples/resources/terraform_scim_groups/resource.tf + - internal/provider/scimuser_resource.go + - internal/provider/scimuser_resource_sdk.go + - examples/resources/terraform_scim_user/resource.tf - internal/provider/npapolicy_data_source.go - internal/provider/npapolicy_data_source_sdk.go - examples/data-sources/terraform_npa_policy/data-source.tf @@ -333,4 +360,13 @@ generatedFiles: - internal/provider/privateapptagpolicyuselist_data_source.go - internal/provider/privateapptagpolicyuselist_data_source_sdk.go - examples/data-sources/terraform_private_app_tag_policy_use_list/data-source.tf + - internal/provider/scimgroups_data_source.go + - internal/provider/scimgroups_data_source_sdk.go + - examples/data-sources/terraform_scim_groups/data-source.tf + - internal/provider/scimgroupsbyid_data_source.go + - internal/provider/scimgroupsbyid_data_source_sdk.go + - examples/data-sources/terraform_scim_groups_by_id/data-source.tf + - internal/provider/scimuser_data_source.go + - internal/provider/scimuser_data_source_sdk.go + - examples/data-sources/terraform_scim_user/data-source.tf - .gitattributes diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 5fbeaf1..0b52c75 100755 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -12,7 +12,7 @@ generation: auth: oAuth2ClientCredentialsEnabled: true terraform: - version: 0.0.3 + version: 0.2.2 author: speakeasy imports: option: openapi diff --git a/.speakeasy/temp/applied_HGyilgdUXC.yaml b/.speakeasy/temp/applied_HGyilgdUXC.yaml new file mode 100644 index 0000000..5af2f98 --- /dev/null +++ b/.speakeasy/temp/applied_HGyilgdUXC.yaml @@ -0,0 +1,6031 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUser#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUser + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUser + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsersList#read + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUsersList + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + operationId: putSCIMUsersById + x-speakeasy-entity-operation: SCIMUser#update + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/json: + schema: + x-speakeasy-entity: SCIMUser + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUser + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUser#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUser + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/json: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq work].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUser#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/json: + schema: + x-speakeasy-entity: SCIMGroups + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMGroups + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroup#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/json: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/json: + schema: + x-speakeasy-entity: SCIMGroups + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroupsById#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/json: + schema: + x-speakeasy-entity: SCIMGroups + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-ignore: true + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/json: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_AmGwYbbjxq.yaml b/.speakeasy/temp/merge_AmGwYbbjxq.yaml new file mode 100644 index 0000000..928a13f --- /dev/null +++ b/.speakeasy/temp/merge_AmGwYbbjxq.yaml @@ -0,0 +1,5976 @@ +openapi: 3.0.0 +info: + title: Netskope SCIM Server endpoints + description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublisher + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublisher + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublisher + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + parameters: + - name: id + description: SCIM Used ID should be specified + x-speakeasy-entity-operation: SCIMUsers#get + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_BLnsFeEyhK.yaml b/.speakeasy/temp/merge_BLnsFeEyhK.yaml new file mode 100644 index 0000000..dc895db --- /dev/null +++ b/.speakeasy/temp/merge_BLnsFeEyhK.yaml @@ -0,0 +1,5334 @@ +openapi: 3.0.0 +info: + title: Netskope SCIM Server endpoints + description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUsers#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_CNXCMXiXpC.yaml b/.speakeasy/temp/merge_CNXCMXiXpC.yaml new file mode 100644 index 0000000..d1f6ffb --- /dev/null +++ b/.speakeasy/temp/merge_CNXCMXiXpC.yaml @@ -0,0 +1,5334 @@ +openapi: 3.0.0 +info: + title: Netskope SCIM Server endpoints + description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUsers#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#read + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_EkFhZwiuOz.yaml b/.speakeasy/temp/merge_EkFhZwiuOz.yaml new file mode 100644 index 0000000..fdc1865 --- /dev/null +++ b/.speakeasy/temp/merge_EkFhZwiuOz.yaml @@ -0,0 +1,4417 @@ +openapi: 3.0.0 +info: + title: steering-mgmt + description: steering mgmt service IPSec CRUD operations. + version: 1.0.0 +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublisher + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublisher + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublisher + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" diff --git a/.speakeasy/temp/merge_GfrTIfiAPk.yaml b/.speakeasy/temp/merge_GfrTIfiAPk.yaml new file mode 100644 index 0000000..9bd0494 --- /dev/null +++ b/.speakeasy/temp/merge_GfrTIfiAPk.yaml @@ -0,0 +1,5990 @@ +openapi: 3.0.0 +info: + title: Netskope SCIM Server endpoints + description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + parameters: + - name: id + description: SCIM Used ID should be specified + x-speakeasy-entity-operation: SCIMUsers#get + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_GhHNszQlJx.yaml b/.speakeasy/temp/merge_GhHNszQlJx.yaml new file mode 100644 index 0000000..084ee12 --- /dev/null +++ b/.speakeasy/temp/merge_GhHNszQlJx.yaml @@ -0,0 +1,5334 @@ +openapi: 3.0.0 +info: + title: Netskope SCIM Server endpoints + description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUsers#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-ignore: true + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroupsById#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_JAdcXzLaRK.yaml b/.speakeasy/temp/merge_JAdcXzLaRK.yaml new file mode 100644 index 0000000..f06060f --- /dev/null +++ b/.speakeasy/temp/merge_JAdcXzLaRK.yaml @@ -0,0 +1,6031 @@ +openapi: 3.0.0 +info: + title: Netskope SCIM Server endpoints + description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUsers + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/json: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#read + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUsers + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-ignore: true + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/json: + schema: + type: object + description: User object + properties: + schemas: + x-speakeasy-entity: SCIMUsers + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/json: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUsers#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/json: + schema: + type: object + properties: + schemas: + x-speakeasy-entity: SCIMUsers + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/json: + schema: + x-speakeasy-entity: SCIMUsers + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq work].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/json: + schema: + x-speakeasy-entity: SCIMGroups + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMGroups + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-ignore: true + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/json: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroupsById#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/json: + schema: + x-speakeasy-entity: SCIMGroups + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/json: + schema: + x-speakeasy-entity: SCIMGroups + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_JRsYdfzTWb.yaml b/.speakeasy/temp/merge_JRsYdfzTWb.yaml new file mode 100644 index 0000000..02a96d5 --- /dev/null +++ b/.speakeasy/temp/merge_JRsYdfzTWb.yaml @@ -0,0 +1,5985 @@ +openapi: 3.0.0 +info: + title: Netskope SCIM Server endpoints + description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublisher + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublisher + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublisher + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + parameters: + - name: id + description: SCIM Used ID should be specified + x-speakeasy-entity-operation: SCIMUsers#get + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_LolXEYIEiA.yaml b/.speakeasy/temp/merge_LolXEYIEiA.yaml new file mode 100644 index 0000000..fdc1865 --- /dev/null +++ b/.speakeasy/temp/merge_LolXEYIEiA.yaml @@ -0,0 +1,4417 @@ +openapi: 3.0.0 +info: + title: steering-mgmt + description: steering mgmt service IPSec CRUD operations. + version: 1.0.0 +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublisher + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublisher + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublisher + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" diff --git a/.speakeasy/temp/merge_QJaWQpvTrB.yaml b/.speakeasy/temp/merge_QJaWQpvTrB.yaml new file mode 100644 index 0000000..8f37615 --- /dev/null +++ b/.speakeasy/temp/merge_QJaWQpvTrB.yaml @@ -0,0 +1,5980 @@ +openapi: 3.0.0 +info: + title: Netskope SCIM Server endpoints + description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublisher + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublisher + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublisher + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + parameters: + - name: id + description: SCIM Used ID should be specified + x-speakeasy-entity-operation: SCIMUsers#get + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_SyPLFWjQPG.yaml b/.speakeasy/temp/merge_SyPLFWjQPG.yaml new file mode 100644 index 0000000..a70fb50 --- /dev/null +++ b/.speakeasy/temp/merge_SyPLFWjQPG.yaml @@ -0,0 +1,6022 @@ +openapi: 3.0.0 +info: + title: Netskope SCIM Server endpoints + description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUsers#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_WeHOMkxeMj.yaml b/.speakeasy/temp/merge_WeHOMkxeMj.yaml new file mode 100644 index 0000000..9b5e9d1 --- /dev/null +++ b/.speakeasy/temp/merge_WeHOMkxeMj.yaml @@ -0,0 +1,6031 @@ +openapi: 3.0.0 +info: + title: Netskope SCIM Server endpoints + description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUser#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUser + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUser + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsersList#read + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUsersList + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + operationId: putSCIMUsersById + x-speakeasy-entity-operation: SCIMUser#update + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/json: + schema: + x-speakeasy-entity: SCIMUser + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUser + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUser#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUser + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/json: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq work].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUser#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/json: + schema: + x-speakeasy-entity: SCIMGroups + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMGroups + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroup#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/json: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/json: + schema: + x-speakeasy-entity: SCIMGroups + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroupsById#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/json: + schema: + x-speakeasy-entity: SCIMGroups + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-ignore: true + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/json: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_XkaOXwScDU.yaml b/.speakeasy/temp/merge_XkaOXwScDU.yaml new file mode 100644 index 0000000..9d4e21c --- /dev/null +++ b/.speakeasy/temp/merge_XkaOXwScDU.yaml @@ -0,0 +1,5953 @@ +openapi: 3.0.0 +info: + title: Netskope SCIM Server endpoints + description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublisher + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublisher + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublisher + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + description: Creation of a SCIM User. + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_ctdBFrIesm.yaml b/.speakeasy/temp/merge_ctdBFrIesm.yaml new file mode 100644 index 0000000..dc895db --- /dev/null +++ b/.speakeasy/temp/merge_ctdBFrIesm.yaml @@ -0,0 +1,5334 @@ +openapi: 3.0.0 +info: + title: Netskope SCIM Server endpoints + description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUsers#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_dqfekeUOAs.yaml b/.speakeasy/temp/merge_dqfekeUOAs.yaml new file mode 100644 index 0000000..9b5e9d1 --- /dev/null +++ b/.speakeasy/temp/merge_dqfekeUOAs.yaml @@ -0,0 +1,6031 @@ +openapi: 3.0.0 +info: + title: Netskope SCIM Server endpoints + description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUser#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUser + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUser + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsersList#read + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUsersList + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + operationId: putSCIMUsersById + x-speakeasy-entity-operation: SCIMUser#update + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/json: + schema: + x-speakeasy-entity: SCIMUser + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUser + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUser#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUser + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/json: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq work].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUser#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/json: + schema: + x-speakeasy-entity: SCIMGroups + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMGroups + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroup#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/json: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/json: + schema: + x-speakeasy-entity: SCIMGroups + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroupsById#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/json: + schema: + x-speakeasy-entity: SCIMGroups + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-ignore: true + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/json: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_ejAbfdlbgl.yaml b/.speakeasy/temp/merge_ejAbfdlbgl.yaml new file mode 100644 index 0000000..d9f5322 --- /dev/null +++ b/.speakeasy/temp/merge_ejAbfdlbgl.yaml @@ -0,0 +1,6021 @@ +openapi: 3.0.0 +info: + title: Netskope SCIM Server endpoints + description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + parameters: + - name: id + description: SCIM Used ID should be specified + x-speakeasy-entity-operation: SCIMUsers#get + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_hfUJvWZnrn.yaml b/.speakeasy/temp/merge_hfUJvWZnrn.yaml new file mode 100644 index 0000000..8775d8f --- /dev/null +++ b/.speakeasy/temp/merge_hfUJvWZnrn.yaml @@ -0,0 +1,5985 @@ +openapi: 3.0.0 +info: + title: Netskope SCIM Server endpoints + description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + parameters: + - name: id + description: SCIM Used ID should be specified + x-speakeasy-entity-operation: SCIMUsers#get + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_kOjwbHygSK.yaml b/.speakeasy/temp/merge_kOjwbHygSK.yaml new file mode 100644 index 0000000..b6c432e --- /dev/null +++ b/.speakeasy/temp/merge_kOjwbHygSK.yaml @@ -0,0 +1,5334 @@ +openapi: 3.0.0 +info: + title: Netskope SCIM Server endpoints + description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUsers#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroupsById#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_obnBKAmjnV.yaml b/.speakeasy/temp/merge_obnBKAmjnV.yaml new file mode 100644 index 0000000..a70fb50 --- /dev/null +++ b/.speakeasy/temp/merge_obnBKAmjnV.yaml @@ -0,0 +1,6022 @@ +openapi: 3.0.0 +info: + title: Netskope SCIM Server endpoints + description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUsers#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_osulCmlkTN.yaml b/.speakeasy/temp/merge_osulCmlkTN.yaml new file mode 100644 index 0000000..48af7b7 --- /dev/null +++ b/.speakeasy/temp/merge_osulCmlkTN.yaml @@ -0,0 +1,5334 @@ +openapi: 3.0.0 +info: + title: Netskope SCIM Server endpoints + description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-ignore: true + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUsers#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-ignore: true + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroupsById#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_tZyhHbnvvq.yaml b/.speakeasy/temp/merge_tZyhHbnvvq.yaml new file mode 100644 index 0000000..1b61d54 --- /dev/null +++ b/.speakeasy/temp/merge_tZyhHbnvvq.yaml @@ -0,0 +1,5454 @@ +openapi: 3.0.0 +info: + title: Netskope SCIM Server endpoints + description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + application/scim+json: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#read + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-ignore: true + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUsers#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-ignore: true + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroupsById#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_vDPoWRRRii.yaml b/.speakeasy/temp/merge_vDPoWRRRii.yaml new file mode 100644 index 0000000..2f4964d --- /dev/null +++ b/.speakeasy/temp/merge_vDPoWRRRii.yaml @@ -0,0 +1,6020 @@ +openapi: 3.0.0 +info: + title: Netskope SCIM Server endpoints + description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + parameters: + - name: id + description: SCIM Used ID should be specified + x-speakeasy-entity-operation: SCIMUsers#get + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_zpZSxcBwxB.yaml b/.speakeasy/temp/merge_zpZSxcBwxB.yaml new file mode 100644 index 0000000..409deec --- /dev/null +++ b/.speakeasy/temp/merge_zpZSxcBwxB.yaml @@ -0,0 +1,5976 @@ +openapi: 3.0.0 +info: + title: Netskope SCIM Server endpoints + description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublisher + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublisher + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublisher + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + parameters: + - name: id + description: SCIM Used ID should be specified + x-speakeasy-entity-operation: SCIMUsers#get + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_AmVpwRaDhE.yaml b/.speakeasy/temp/output_AmVpwRaDhE.yaml new file mode 100644 index 0000000..5af2f98 --- /dev/null +++ b/.speakeasy/temp/output_AmVpwRaDhE.yaml @@ -0,0 +1,6031 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUser#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUser + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUser + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsersList#read + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUsersList + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + operationId: putSCIMUsersById + x-speakeasy-entity-operation: SCIMUser#update + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/json: + schema: + x-speakeasy-entity: SCIMUser + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUser + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUser#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUser + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/json: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq work].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUser#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/json: + schema: + x-speakeasy-entity: SCIMGroups + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMGroups + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroup#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/json: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/json: + schema: + x-speakeasy-entity: SCIMGroups + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroupsById#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/json: + schema: + x-speakeasy-entity: SCIMGroups + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-ignore: true + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/json: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_EVlDxaRaED.yaml b/.speakeasy/temp/output_EVlDxaRaED.yaml new file mode 100644 index 0000000..779aea8 --- /dev/null +++ b/.speakeasy/temp/output_EVlDxaRaED.yaml @@ -0,0 +1,5980 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublisher + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublisher + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublisher + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + parameters: + - name: id + description: SCIM Used ID should be specified + x-speakeasy-entity-operation: SCIMUsers#get + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_EztgMMirMv.yaml b/.speakeasy/temp/output_EztgMMirMv.yaml new file mode 100644 index 0000000..4a88867 --- /dev/null +++ b/.speakeasy/temp/output_EztgMMirMv.yaml @@ -0,0 +1,6021 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + parameters: + - name: id + description: SCIM Used ID should be specified + x-speakeasy-entity-operation: SCIMUsers#get + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_HiDVGuWctK.yaml b/.speakeasy/temp/output_HiDVGuWctK.yaml new file mode 100644 index 0000000..17aa12d --- /dev/null +++ b/.speakeasy/temp/output_HiDVGuWctK.yaml @@ -0,0 +1,6022 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUsers#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_KDzidilvtM.yaml b/.speakeasy/temp/output_KDzidilvtM.yaml new file mode 100644 index 0000000..2f7869d --- /dev/null +++ b/.speakeasy/temp/output_KDzidilvtM.yaml @@ -0,0 +1,5985 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + parameters: + - name: id + description: SCIM Used ID should be specified + x-speakeasy-entity-operation: SCIMUsers#get + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_LsZYkIkFkW.yaml b/.speakeasy/temp/output_LsZYkIkFkW.yaml new file mode 100644 index 0000000..5cb20c2 --- /dev/null +++ b/.speakeasy/temp/output_LsZYkIkFkW.yaml @@ -0,0 +1,5976 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublisher + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublisher + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublisher + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + parameters: + - name: id + description: SCIM Used ID should be specified + x-speakeasy-entity-operation: SCIMUsers#get + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_NBtNJuKSYD.yaml b/.speakeasy/temp/output_NBtNJuKSYD.yaml new file mode 100644 index 0000000..f28ba6f --- /dev/null +++ b/.speakeasy/temp/output_NBtNJuKSYD.yaml @@ -0,0 +1,5953 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublisher + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublisher + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublisher + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + description: Creation of a SCIM User. + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_OkTFqKymnq.yaml b/.speakeasy/temp/output_OkTFqKymnq.yaml new file mode 100644 index 0000000..4ec67cc --- /dev/null +++ b/.speakeasy/temp/output_OkTFqKymnq.yaml @@ -0,0 +1,5334 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUsers#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#read + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_PRSEkdCcnd.yaml b/.speakeasy/temp/output_PRSEkdCcnd.yaml new file mode 100644 index 0000000..d06e5b8 --- /dev/null +++ b/.speakeasy/temp/output_PRSEkdCcnd.yaml @@ -0,0 +1,5334 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUsers#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_RCWelGgLkW.yaml b/.speakeasy/temp/output_RCWelGgLkW.yaml new file mode 100644 index 0000000..ffdf4b3 --- /dev/null +++ b/.speakeasy/temp/output_RCWelGgLkW.yaml @@ -0,0 +1,4417 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: Combined specification to produce netskope terraform provider via speakeasy + version: 1.0.0 +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublisher + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublisher + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublisher + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" diff --git a/.speakeasy/temp/output_REeQQJmCji.yaml b/.speakeasy/temp/output_REeQQJmCji.yaml new file mode 100644 index 0000000..d06e5b8 --- /dev/null +++ b/.speakeasy/temp/output_REeQQJmCji.yaml @@ -0,0 +1,5334 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUsers#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_RSmxqoyVbl.yaml b/.speakeasy/temp/output_RSmxqoyVbl.yaml new file mode 100644 index 0000000..ce7eb47 --- /dev/null +++ b/.speakeasy/temp/output_RSmxqoyVbl.yaml @@ -0,0 +1,6031 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUsers + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/json: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#read + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUsers + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-ignore: true + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/json: + schema: + type: object + description: User object + properties: + schemas: + x-speakeasy-entity: SCIMUsers + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/json: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUsers#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/json: + schema: + type: object + properties: + schemas: + x-speakeasy-entity: SCIMUsers + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/json: + schema: + x-speakeasy-entity: SCIMUsers + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq work].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/json: + schema: + x-speakeasy-entity: SCIMGroups + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMGroups + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-ignore: true + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/json: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroupsById#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/json: + schema: + x-speakeasy-entity: SCIMGroups + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/json: + schema: + x-speakeasy-entity: SCIMGroups + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_SUrSYlEUwy.yaml b/.speakeasy/temp/output_SUrSYlEUwy.yaml new file mode 100644 index 0000000..3cb853a --- /dev/null +++ b/.speakeasy/temp/output_SUrSYlEUwy.yaml @@ -0,0 +1,5985 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublisher + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublisher + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublisher + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + parameters: + - name: id + description: SCIM Used ID should be specified + x-speakeasy-entity-operation: SCIMUsers#get + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_XuhdpSJpWa.yaml b/.speakeasy/temp/output_XuhdpSJpWa.yaml new file mode 100644 index 0000000..5af2f98 --- /dev/null +++ b/.speakeasy/temp/output_XuhdpSJpWa.yaml @@ -0,0 +1,6031 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUser#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUser + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUser + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsersList#read + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUsersList + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + operationId: putSCIMUsersById + x-speakeasy-entity-operation: SCIMUser#update + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/json: + schema: + x-speakeasy-entity: SCIMUser + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUser + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUser#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMUser + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/json: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq work].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUser#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/json: + schema: + x-speakeasy-entity: SCIMGroups + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/json: + schema: + type: object + x-speakeasy-entity: SCIMGroups + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroup#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/json: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/json: + schema: + x-speakeasy-entity: SCIMGroups + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroupsById#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/json: + schema: + x-speakeasy-entity: SCIMGroups + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-ignore: true + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/json: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_YWnMmlKqYj.yaml b/.speakeasy/temp/output_YWnMmlKqYj.yaml new file mode 100644 index 0000000..dc9966a --- /dev/null +++ b/.speakeasy/temp/output_YWnMmlKqYj.yaml @@ -0,0 +1,5334 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUsers#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroupsById#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_blGPAVDmbM.yaml b/.speakeasy/temp/output_blGPAVDmbM.yaml new file mode 100644 index 0000000..7b4b50d --- /dev/null +++ b/.speakeasy/temp/output_blGPAVDmbM.yaml @@ -0,0 +1,5334 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUsers#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-ignore: true + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroupsById#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_cQUmSibNwl.yaml b/.speakeasy/temp/output_cQUmSibNwl.yaml new file mode 100644 index 0000000..e658470 --- /dev/null +++ b/.speakeasy/temp/output_cQUmSibNwl.yaml @@ -0,0 +1,5976 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublisher + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublisher + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublisher + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + parameters: + - name: id + description: SCIM Used ID should be specified + x-speakeasy-entity-operation: SCIMUsers#get + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_dmsXNpuaxE.yaml b/.speakeasy/temp/output_dmsXNpuaxE.yaml new file mode 100644 index 0000000..886bb85 --- /dev/null +++ b/.speakeasy/temp/output_dmsXNpuaxE.yaml @@ -0,0 +1,5454 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + application/scim+json: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#read + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-ignore: true + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUsers#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-ignore: true + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroupsById#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_jytchafsTQ.yaml b/.speakeasy/temp/output_jytchafsTQ.yaml new file mode 100644 index 0000000..e0e366b --- /dev/null +++ b/.speakeasy/temp/output_jytchafsTQ.yaml @@ -0,0 +1,6020 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + parameters: + - name: id + description: SCIM Used ID should be specified + x-speakeasy-entity-operation: SCIMUsers#get + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_lOoyyvNwNn.yaml b/.speakeasy/temp/output_lOoyyvNwNn.yaml new file mode 100644 index 0000000..ffdf4b3 --- /dev/null +++ b/.speakeasy/temp/output_lOoyyvNwNn.yaml @@ -0,0 +1,4417 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: Combined specification to produce netskope terraform provider via speakeasy + version: 1.0.0 +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublisher + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublisher + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublisher + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" diff --git a/.speakeasy/temp/output_seECDqokun.yaml b/.speakeasy/temp/output_seECDqokun.yaml new file mode 100644 index 0000000..17aa12d --- /dev/null +++ b/.speakeasy/temp/output_seECDqokun.yaml @@ -0,0 +1,6022 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUsers#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_wrMZdxXuQE.yaml b/.speakeasy/temp/output_wrMZdxXuQE.yaml new file mode 100644 index 0000000..37b2faa --- /dev/null +++ b/.speakeasy/temp/output_wrMZdxXuQE.yaml @@ -0,0 +1,5990 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: user request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + status: + type: integer + enum: + - 200 + example: 200 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + parameters: + - name: id + description: SCIM Used ID should be specified + x-speakeasy-entity-operation: SCIMUsers#get + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:User + example: + - urn:ietf:params:scim:schemas:core:2.0:User + id: + type: string + description: SCIM User ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + userName: + type: string + description: UPN name of the SCIM User + example: upn1 + name: + type: object + description: Family_name and given_name for the User + properties: + familyName: + type: string + description: last_name of the SCIM User. + example: last_name + givenName: + type: string + description: first_name of the SCIM User. + example: first_name + active: + type: boolean + example: "true" + emails: + type: array + items: + type: object + properties: + value: + type: string + description: Email ID of the SCIM user + pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ + example: email1@netskope.local + primary: + type: boolean + example: "true" + externalId: + type: string + description: Optional - Scim External ID + example: User-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: User + example: + resourceType: User + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: attribute to be modified. + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: userName + enum: + - userName + - name.givenname + - name.familyname + - externalid + - emails[type eq "work"].value + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: new_upn + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: Group object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + responses: + "201": + description: Successfully added the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + example: 1 + startIndex: + type: integer + example: 1 + itemsPerPage: + type: integer + example: 1 + Resources: + type: array + items: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + displayName: + type: string + description: Display name for group. + example: sample_group1 + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-entity-operation: SCIMGroups#update + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: User object + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type Group. + example: Group + example: + resourceType: Group + responses: + "200": + description: Successfully updated the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + status: + type: integer + enum: + - 201 + - 200 + example: 201 + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + application/scim+json;charset=utf-8: + schema: + type: object + properties: + id: + type: string + description: SCIM Group ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + example: + - urn:ietf:params:scim:schemas:core:2.0:Group + displayName: + type: string + description: Display name for group. + example: sample_group1 + members: + type: array + items: + type: object + properties: + value: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + externalId: + type: string + description: Optional - Scim External ID + example: Group-Ext_id + meta: + type: object + description: meta information + properties: + resourceType: + type: string + description: resource type User/Group. + example: Group + example: + resourceType: Group + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + application/scim+json;charset=utf-8: + schema: + type: object + description: group request body + properties: + schemas: + type: array + description: schema of the resource + items: + type: string + enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + example: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + Operations: + type: array + items: + type: object + properties: + path: + type: string + example: members + enum: + - members + - externalid + - displayname + op: + type: string + example: add + enum: + - add + - remove + - replace + value: + oneOf: + - type: string + - type: object + description: value either string or object + example: + value: + value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_zTikskYjAI.yaml b/.speakeasy/temp/output_zTikskYjAI.yaml new file mode 100644 index 0000000..c8081b0 --- /dev/null +++ b/.speakeasy/temp/output_zTikskYjAI.yaml @@ -0,0 +1,5334 @@ +openapi: 3.0.0 +info: + title: Netskope Terraform Provider + description: "Combined specification to produce netskope terraform provider via speakeasy" + version: 2.0.0 + contact: + name: Provisioner + email: eng-provisioner-dev-blr@netskope.com +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublishers + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublishers + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublishers + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + operationId: getPublisherUpgradeProfiles + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + operationId: createNPAPublisherUpradeProfiles + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + operationId: deleteNPAPubliserUpgradeProfiles + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + operationId: replaceNPAPublisherUpgradeProfiles + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + operationId: getNPAPublisherUpgradeProfiles + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + operationId: updateNPAPublisherProfilesBulk + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + operationId: getNPAPolicyRules + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + operationId: createNPAPolicyRules + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + operationId: deleteNPAPolicyRules + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + operationId: patchNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + operationId: getNPAPolicyRulesById + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + operationId: getNPAPolicyGroups + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + operationId: createNPAPolicyGroups + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + operationId: deleteNPAPolicyGroups + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + operationId: patchNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + operationId: getNPAPolicyGroupsById + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + operationId: getNPAApps + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + operationId: createNPAApps + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + operationId: deleteNPAApps + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + operationId: replaceNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + operationId: patchNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + operationId: getNPAAppsById + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + operationId: queryNPAPolicyInUse + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + operationId: createNPATags + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + operationId: patchNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + operationId: deleteNPATags + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + operationId: getNPATags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + operationId: getNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + operationId: replaceNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + operationId: deleteNPATagsById + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + operationId: retrieveNPAPoliciesInUse + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getGrePops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + operationId: getGrePopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getGreTunnels + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + operationId: createGreTunnels + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + operationId: getGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchGreTunnelsById + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + operationId: deleteGreTunnels + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + operationId: getIpsecPops + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + operationId: getIpsecPopsById + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + operationId: getIpsecTunnels + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + operationId: createIpsecTunnels + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + operationId: getIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + operationId: patchIpsecTunnelsById + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + operationId: deleteIpsecTunnels + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /Users: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_users + summary: Creation of a SCIM User + x-speakeasy-entity-operation: SCIMUsers#create + description: Creation of a SCIM User. + operationId: createSCIMUsers + requestBody: + description: user to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_users + summary: Get Scim Users + description: Query for all the SCIM Users or filtered users. + x-speakeasy-entity-operations: SCIMUsers#get + operationId: getSCIMUsers + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfully added/overwritten the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Users/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_users + summary: Replace existing SCIM record for {id} + description: Replace existing SCIM record for {id} + x-speakeasy-ignore: true + operationId: putSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: user to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_users + summary: Get the Scim User + description: Getting the user with specific id.. + operationId: getSCIMUsersById + x-speakeasy-entity-operation: SCIMUsers#get + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_users + summary: Update existing SCIM User record by {id} + description: Update existing SCIM User record by {id} + x-speakeasy-entity-operation: SCIMUsers#update + operationId: updateSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributes to be modified. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + delete: + tags: + - scim_users + summary: Delete SCIM User record by {id} + description: Delete SCIM User record by {id}. + x-speakeasy-entity-operation: SCIMUsers#delete + operationId: deleteSCIMUsers + parameters: + - name: id + description: SCIM User ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted the User. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error + /Groups: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + post: + tags: + - scim_groups + summary: Create new SCIM Group + description: Create new SCIM Group + x-speakeasy-entity-operation: SCIMGroups#create + operationId: createSCIMGroups + requestBody: + description: group to add + content: + schema: {} + responses: + "201": + description: Successfully added the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request, Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal server error. + get: + tags: + - scim_groups + summary: Get SCIM Groups + description: Query for all the SCIM groups or filtered groups. + x-speakeasy-entity-operation: SCIMGroups#get + operationId: getSCIMGroups + parameters: + - name: filter + required: false + in: query + description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' + schema: + type: string + - name: startIndex + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + - name: count + required: false + in: query + schema: + description: StartIndex & count should be passed together + type: integer + responses: + "200": + description: Successfull. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + /Groups/{id}: + x-netskope-params: + serviceConfig: nsscimserver + version: 2 + customerFacing: true + apiGroup: scim-apis + put: + tags: + - scim_groups + summary: Replace existing SCIM Group for {id} + description: Replace existing SCIM Group for {id} + x-speakeasy-ignore: true + operationId: putSCIMGroupsById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: group to update + content: + schema: {} + responses: + "200": + description: Successfully updated the User. + content: + schema: {} + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request. + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + get: + tags: + - scim_groups + summary: Get SCIM Group by {id} + description: Get SCIM Group by {id} + x-speakeasy-entity-operation: SCIMGroupsById#get + operationId: getSCIMGroupsById + parameters: + - name: id + description: SCIM Group ID required. + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "200": + description: Successfully deleted the User. + content: + schema: {} + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + patch: + tags: + - scim_groups + summary: Update existing SCIM Group record by {id}. + description: Updating attribute in existing group with the id. + x-speakeasy-entity-operation: SCIMGroups#update + operationId: patchSCIMUsersById + parameters: + - name: id + description: SCIM Used ID should be specified + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + requestBody: + description: attributed to be added. + content: + schema: {} + responses: + "204": + description: Empty response. + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. + delete: + tags: + - scim_groups + summary: Delete SCIM Group record by {id} + description: Delete SCIM Group record by {id} + x-speakeasy-entity-operation: SCIMGroups#delete + operationId: deleteSCIMUsersById + parameters: + - name: id + description: SCIM Group ID required + required: true + in: path + schema: + type: string + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + responses: + "204": + description: Empty response, Successfully deleted Group + "400": + description: 'Failed ' + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - "400" + - failed + example: "400" + description: + type: string + example: Invalid request + schemas: + type: array + description: schema of the resource + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:Error + "403": + description: Not authorized to execte the specific API. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: You cannot consume this service. + "501": + description: Internal error Failed + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - failed + - "501" + example: 501/failed + schemas: + type: string + example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' + detail: + type: string + example: Internal error. +tags: + - name: scim_users + description: CRUD for SCIM Users Infrormation. + - name: scim_groups + description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/workflow.yaml b/.speakeasy/workflow.yaml index d2c4824..2965ae5 100644 --- a/.speakeasy/workflow.yaml +++ b/.speakeasy/workflow.yaml @@ -11,9 +11,12 @@ sources: - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/steering/npa_private_tag.yaml - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/steering/gre.yaml - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/steering/ipsec.yaml + - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/scim/scim-apis.yaml overlays: - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/terraform_overlay.yaml targets: first-target: target: terraform source: openapi + codeSamples: + output: code_snip.yaml diff --git a/README.md b/README.md index a15e79b..24c4757 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ terraform { required_providers { terraform = { source = "speakeasy/terraform" - version = "0.0.3" + version = "0.2.2" } } } diff --git a/examples/data-sources/terraform_npa_policy_list/data-source.tf b/examples/data-sources/terraform_npa_policy_list/data-source.tf index 1da4f65..3136e75 100644 --- a/examples/data-sources/terraform_npa_policy_list/data-source.tf +++ b/examples/data-sources/terraform_npa_policy_list/data-source.tf @@ -1,7 +1,7 @@ data "terraform_npa_policy_list" "my_npapolicylist" { filter = "...my_filter..." - limit = 7 - offset = 10 + limit = 4 + offset = 2 sortby = "...my_sortby..." sortorder = "...my_sortorder..." } \ No newline at end of file diff --git a/examples/data-sources/terraform_npa_publisher_upgrade_profile/data-source.tf b/examples/data-sources/terraform_npa_publisher_upgrade_profile/data-source.tf index 313a495..95a6f66 100644 --- a/examples/data-sources/terraform_npa_publisher_upgrade_profile/data-source.tf +++ b/examples/data-sources/terraform_npa_publisher_upgrade_profile/data-source.tf @@ -1,3 +1,3 @@ data "terraform_npa_publisher_upgrade_profile" "my_npapublisherupgradeprofile" { - id = 9 + id = 7 } \ No newline at end of file diff --git a/examples/data-sources/terraform_npa_publishers/data-source.tf b/examples/data-sources/terraform_npa_publishers/data-source.tf index 04cc9da..2384a00 100644 --- a/examples/data-sources/terraform_npa_publishers/data-source.tf +++ b/examples/data-sources/terraform_npa_publishers/data-source.tf @@ -1,3 +1,3 @@ data "terraform_npa_publishers" "my_npapublishers" { - id = 5 + id = 3 } \ No newline at end of file diff --git a/examples/data-sources/terraform_npa_publishers_apps_list/data-source.tf b/examples/data-sources/terraform_npa_publishers_apps_list/data-source.tf index e0cf746..5f155d8 100644 --- a/examples/data-sources/terraform_npa_publishers_apps_list/data-source.tf +++ b/examples/data-sources/terraform_npa_publishers_apps_list/data-source.tf @@ -1,3 +1,3 @@ data "terraform_npa_publishers_apps_list" "my_npapublishersappslist" { - publisher_id = 6 + publisher_id = 0 } \ No newline at end of file diff --git a/examples/data-sources/terraform_policy_group_list/data-source.tf b/examples/data-sources/terraform_policy_group_list/data-source.tf index 7b909c0..0fac3a0 100644 --- a/examples/data-sources/terraform_policy_group_list/data-source.tf +++ b/examples/data-sources/terraform_policy_group_list/data-source.tf @@ -1,7 +1,7 @@ data "terraform_policy_group_list" "my_policygrouplist" { filter = "...my_filter..." - limit = 7 - offset = 2 + limit = 1 + offset = 9 sortby = "...my_sortby..." sortorder = "...my_sortorder..." } \ No newline at end of file diff --git a/examples/data-sources/terraform_scim_groups/data-source.tf b/examples/data-sources/terraform_scim_groups/data-source.tf new file mode 100644 index 0000000..db1f8a6 --- /dev/null +++ b/examples/data-sources/terraform_scim_groups/data-source.tf @@ -0,0 +1,5 @@ +data "terraform_scim_groups" "my_scimgroups" { + count = 3 + filter = "...my_filter..." + start_index = 2 +} \ No newline at end of file diff --git a/examples/data-sources/terraform_scim_groups_by_id/data-source.tf b/examples/data-sources/terraform_scim_groups_by_id/data-source.tf new file mode 100644 index 0000000..b772b48 --- /dev/null +++ b/examples/data-sources/terraform_scim_groups_by_id/data-source.tf @@ -0,0 +1,3 @@ +data "terraform_scim_groups_by_id" "my_scimgroupsbyid" { + id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +} \ No newline at end of file diff --git a/examples/data-sources/terraform_scim_user/data-source.tf b/examples/data-sources/terraform_scim_user/data-source.tf new file mode 100644 index 0000000..7100ca6 --- /dev/null +++ b/examples/data-sources/terraform_scim_user/data-source.tf @@ -0,0 +1,3 @@ +data "terraform_scim_user" "my_scimuser" { + id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +} \ No newline at end of file diff --git a/examples/provider/provider.tf b/examples/provider/provider.tf index c455856..81b62ee 100644 --- a/examples/provider/provider.tf +++ b/examples/provider/provider.tf @@ -2,7 +2,7 @@ terraform { required_providers { terraform = { source = "speakeasy/terraform" - version = "0.0.3" + version = "0.2.2" } } } diff --git a/examples/resources/terraform_npa_policy/resource.tf b/examples/resources/terraform_npa_policy/resource.tf index b18f418..97ad4ab 100644 --- a/examples/resources/terraform_npa_policy/resource.tf +++ b/examples/resources/terraform_npa_policy/resource.tf @@ -4,7 +4,7 @@ resource "terraform_npa_policy" "my_npapolicy" { group_name = "My policy group" rule_name = "vantest" rule_order = { - order = "after" + order = "bottom" position = 5 rule_id = "1" rule_name = "api-policy-managed" diff --git a/examples/resources/terraform_npa_policy_group/resource.tf b/examples/resources/terraform_npa_policy_group/resource.tf index c6218d5..b44b690 100644 --- a/examples/resources/terraform_npa_policy_group/resource.tf +++ b/examples/resources/terraform_npa_policy_group/resource.tf @@ -2,6 +2,6 @@ resource "terraform_npa_policy_group" "my_npapolicygroup" { group_name = "...my_group_name..." group_order = { group_id = "1" - order = "after" + order = "before" } } \ No newline at end of file diff --git a/examples/resources/terraform_npa_publisher_upgrade_profile/resource.tf b/examples/resources/terraform_npa_publisher_upgrade_profile/resource.tf index 739c6d5..0d06a87 100644 --- a/examples/resources/terraform_npa_publisher_upgrade_profile/resource.tf +++ b/examples/resources/terraform_npa_publisher_upgrade_profile/resource.tf @@ -2,7 +2,7 @@ resource "terraform_npa_publisher_upgrade_profile" "my_npapublisherupgradeprofil docker_tag = "...my_docker_tag..." enabled = true frequency = "...my_frequency..." - name = "Nelson Gleichner" + name = "Mrs. Catherine Connelly" release_type = "...my_release_type..." required = "{ \"see\": \"documentation\" }" timezone = "...my_timezone..." diff --git a/examples/resources/terraform_npa_publishers/resource.tf b/examples/resources/terraform_npa_publishers/resource.tf index 28da47f..f95a425 100644 --- a/examples/resources/terraform_npa_publishers/resource.tf +++ b/examples/resources/terraform_npa_publishers/resource.tf @@ -1,5 +1,5 @@ resource "terraform_npa_publishers" "my_npapublishers" { - lbrokerconnect = true - name = "Anna Ankunding" - publisher_upgrade_profiles_id = 5 + lbrokerconnect = false + name = "Joe Paucek" + publisher_upgrade_profiles_id = 2 } \ No newline at end of file diff --git a/examples/resources/terraform_npa_publishers_bulk_upgrade/resource.tf b/examples/resources/terraform_npa_publishers_bulk_upgrade/resource.tf index 686b304..5f992c4 100644 --- a/examples/resources/terraform_npa_publishers_bulk_upgrade/resource.tf +++ b/examples/resources/terraform_npa_publishers_bulk_upgrade/resource.tf @@ -1,7 +1,7 @@ resource "terraform_npa_publishers_bulk_upgrade" "my_npapublishersbulkupgrade" { publishers = { apply = { - upgrade_request = false + upgrade_request = true } id = [ "...", diff --git a/examples/resources/terraform_private_app/resource.tf b/examples/resources/terraform_private_app/resource.tf index a2e0f39..e2bedb4 100644 --- a/examples/resources/terraform_private_app/resource.tf +++ b/examples/resources/terraform_private_app/resource.tf @@ -1,6 +1,6 @@ resource "terraform_private_app" "my_privateapp" { app_name = "...my_app_name..." - clientless_access = true + clientless_access = false host = "...my_host..." protocols = [ { @@ -21,5 +21,5 @@ resource "terraform_private_app" "my_privateapp" { ] real_host = "...my_real_host..." trust_self_signed_certs = true - use_publisher_dns = true + use_publisher_dns = false } \ No newline at end of file diff --git a/examples/resources/terraform_private_app_tag/resource.tf b/examples/resources/terraform_private_app_tag/resource.tf index db12d3d..a827baf 100644 --- a/examples/resources/terraform_private_app_tag/resource.tf +++ b/examples/resources/terraform_private_app_tag/resource.tf @@ -1,5 +1,5 @@ resource "terraform_private_app_tag" "my_privateapptag" { - id = "1ba65a2c-5874-40b5-86d4-8f6603f14abb" + id = "e9c5e434-7397-41ca-b5d5-462042ad5126" ids = [ "...", ] @@ -11,7 +11,7 @@ resource "terraform_private_app_tag" "my_privateapptag" { ] tags = [ { - tag_id = 8 + tag_id = 4 tag_name = "...my_tag_name..." }, ] diff --git a/examples/resources/terraform_publisher_token/resource.tf b/examples/resources/terraform_publisher_token/resource.tf index 89d32ba..4bd3f22 100644 --- a/examples/resources/terraform_publisher_token/resource.tf +++ b/examples/resources/terraform_publisher_token/resource.tf @@ -1,3 +1,3 @@ resource "terraform_publisher_token" "my_publishertoken" { - publisher_id = 8 + publisher_id = 4 } \ No newline at end of file diff --git a/examples/resources/terraform_scim_groups/resource.tf b/examples/resources/terraform_scim_groups/resource.tf new file mode 100644 index 0000000..cdc6070 --- /dev/null +++ b/examples/resources/terraform_scim_groups/resource.tf @@ -0,0 +1,4 @@ +resource "terraform_scim_groups" "my_scimgroups" { + display_name = "sample_group1" + external_id = "Group-Ext_id" +} \ No newline at end of file diff --git a/examples/resources/terraform_scim_user/resource.tf b/examples/resources/terraform_scim_user/resource.tf new file mode 100644 index 0000000..21b1d39 --- /dev/null +++ b/examples/resources/terraform_scim_user/resource.tf @@ -0,0 +1,5 @@ +resource "terraform_scim_user" "my_scimuser" { + active = true + external_id = "User-Ext_id" + user_name = "upn1" +} \ No newline at end of file diff --git a/internal/provider/npapolicy_data_source.go b/internal/provider/npapolicy_data_source.go index a6b5e7e..479f988 100644 --- a/internal/provider/npapolicy_data_source.go +++ b/internal/provider/npapolicy_data_source.go @@ -9,8 +9,9 @@ import ( "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -28,9 +29,9 @@ type NPAPolicyDataSource struct { // NPAPolicyDataSourceModel describes the data model. type NPAPolicyDataSourceModel struct { - RuleData *NpaPolicyRuleData `tfsdk:"rule_data"` - RuleID types.String `tfsdk:"rule_id"` - RuleName types.String `tfsdk:"rule_name"` + RuleData *tfTypes.NpaPolicyRuleData `tfsdk:"rule_data"` + RuleID types.String `tfsdk:"rule_id"` + RuleName types.String `tfsdk:"rule_name"` } // Metadata returns the data source type name. @@ -216,10 +217,10 @@ func (r *NPAPolicyDataSource) Read(ctx context.Context, req datasource.ReadReque } id := data.RuleID.ValueString() - request := operations.GetPolicyNpaRulesIDRequest{ + request := operations.GetNPAPolicyRulesByIDRequest{ ID: id, } - res, err := r.client.GetPolicyNpaRulesID(ctx, request) + res, err := r.client.GetNPAPolicyRulesByID(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { diff --git a/internal/provider/npapolicy_data_source_sdk.go b/internal/provider/npapolicy_data_source_sdk.go index b40defb..85c6665 100644 --- a/internal/provider/npapolicy_data_source_sdk.go +++ b/internal/provider/npapolicy_data_source_sdk.go @@ -4,7 +4,8 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" ) func (r *NPAPolicyDataSourceModel) RefreshFromSharedNpaPolicyResponseItem(resp *shared.NpaPolicyResponseItem) { @@ -12,8 +13,8 @@ func (r *NPAPolicyDataSourceModel) RefreshFromSharedNpaPolicyResponseItem(resp * if resp.RuleData == nil { r.RuleData = nil } else { - r.RuleData = &NpaPolicyRuleData{} - r.RuleData.AccessMethod = nil + r.RuleData = &tfTypes.NpaPolicyRuleData{} + r.RuleData.AccessMethod = []types.String{} for _, v := range resp.RuleData.AccessMethod { r.RuleData.AccessMethod = append(r.RuleData.AccessMethod, types.StringValue(v)) } @@ -24,8 +25,8 @@ func (r *NPAPolicyDataSourceModel) RefreshFromSharedNpaPolicyResponseItem(resp * r.RuleData.DlpActions = r.RuleData.DlpActions[:len(resp.RuleData.DlpActions)] } for dlpActionsCount, dlpActionsItem := range resp.RuleData.DlpActions { - var dlpActions1 NpaPolicyRuleDlp - dlpActions1.Actions = nil + var dlpActions1 tfTypes.NpaPolicyRuleDlp + dlpActions1.Actions = []types.String{} for _, v := range dlpActionsItem.Actions { dlpActions1.Actions = append(dlpActions1.Actions, types.StringValue(string(v))) } @@ -42,18 +43,18 @@ func (r *NPAPolicyDataSourceModel) RefreshFromSharedNpaPolicyResponseItem(resp * if resp.RuleData.MatchCriteriaAction == nil { r.RuleData.MatchCriteriaAction = nil } else { - r.RuleData.MatchCriteriaAction = &MatchCriteriaAction{} + r.RuleData.MatchCriteriaAction = &tfTypes.MatchCriteriaAction{} if resp.RuleData.MatchCriteriaAction.ActionName != nil { r.RuleData.MatchCriteriaAction.ActionName = types.StringValue(string(*resp.RuleData.MatchCriteriaAction.ActionName)) } else { r.RuleData.MatchCriteriaAction.ActionName = types.StringNull() } } - r.RuleData.NetLocationObj = nil + r.RuleData.NetLocationObj = []types.String{} for _, v := range resp.RuleData.NetLocationObj { r.RuleData.NetLocationObj = append(r.RuleData.NetLocationObj, types.StringValue(v)) } - r.RuleData.OrganizationUnits = nil + r.RuleData.OrganizationUnits = []types.String{} for _, v := range resp.RuleData.OrganizationUnits { r.RuleData.OrganizationUnits = append(r.RuleData.OrganizationUnits, types.StringValue(v)) } @@ -62,11 +63,11 @@ func (r *NPAPolicyDataSourceModel) RefreshFromSharedNpaPolicyResponseItem(resp * } else { r.RuleData.PolicyType = types.StringNull() } - r.RuleData.PrivateAppIds = nil + r.RuleData.PrivateAppIds = []types.String{} for _, v := range resp.RuleData.PrivateAppIds { r.RuleData.PrivateAppIds = append(r.RuleData.PrivateAppIds, types.StringValue(v)) } - r.RuleData.PrivateApps = nil + r.RuleData.PrivateApps = []types.String{} for _, v := range resp.RuleData.PrivateApps { r.RuleData.PrivateApps = append(r.RuleData.PrivateApps, types.StringValue(v)) } @@ -74,15 +75,15 @@ func (r *NPAPolicyDataSourceModel) RefreshFromSharedNpaPolicyResponseItem(resp * r.RuleData.PrivateAppsWithActivities = r.RuleData.PrivateAppsWithActivities[:len(resp.RuleData.PrivateAppsWithActivities)] } for privateAppsWithActivitiesCount, privateAppsWithActivitiesItem := range resp.RuleData.PrivateAppsWithActivities { - var privateAppsWithActivities1 PrivateAppsWithActivities + var privateAppsWithActivities1 tfTypes.PrivateAppsWithActivities for activitiesCount, activitiesItem := range privateAppsWithActivitiesItem.Activities { - var activities1 Activities + var activities1 tfTypes.Activities if activitiesItem.Activity != nil { activities1.Activity = types.StringValue(string(*activitiesItem.Activity)) } else { activities1.Activity = types.StringNull() } - activities1.ListOfConstraints = nil + activities1.ListOfConstraints = []types.String{} for _, v := range activitiesItem.ListOfConstraints { activities1.ListOfConstraints = append(activities1.ListOfConstraints, types.StringValue(v)) } @@ -101,24 +102,24 @@ func (r *NPAPolicyDataSourceModel) RefreshFromSharedNpaPolicyResponseItem(resp * r.RuleData.PrivateAppsWithActivities[privateAppsWithActivitiesCount].AppName = privateAppsWithActivities1.AppName } } - r.RuleData.PrivateAppTagIds = nil + r.RuleData.PrivateAppTagIds = []types.String{} for _, v := range resp.RuleData.PrivateAppTagIds { r.RuleData.PrivateAppTagIds = append(r.RuleData.PrivateAppTagIds, types.StringValue(v)) } - r.RuleData.PrivateAppTags = nil + r.RuleData.PrivateAppTags = []types.String{} for _, v := range resp.RuleData.PrivateAppTags { r.RuleData.PrivateAppTags = append(r.RuleData.PrivateAppTags, types.StringValue(v)) } r.RuleData.ShowDlpProfileActionTable = types.BoolPointerValue(resp.RuleData.ShowDlpProfileActionTable) - r.RuleData.SrcCountries = nil + r.RuleData.SrcCountries = []types.String{} for _, v := range resp.RuleData.SrcCountries { r.RuleData.SrcCountries = append(r.RuleData.SrcCountries, types.StringValue(v)) } - r.RuleData.UserGroups = nil + r.RuleData.UserGroups = []types.String{} for _, v := range resp.RuleData.UserGroups { r.RuleData.UserGroups = append(r.RuleData.UserGroups, types.StringValue(v)) } - r.RuleData.Users = nil + r.RuleData.Users = []types.String{} for _, v := range resp.RuleData.Users { r.RuleData.Users = append(r.RuleData.Users, types.StringValue(v)) } diff --git a/internal/provider/npapolicy_resource.go b/internal/provider/npapolicy_resource.go index 65c839d..62bf51e 100644 --- a/internal/provider/npapolicy_resource.go +++ b/internal/provider/npapolicy_resource.go @@ -12,8 +12,9 @@ import ( "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -31,13 +32,13 @@ type NPAPolicyResource struct { // NPAPolicyResourceModel describes the resource data model. type NPAPolicyResourceModel struct { - Description types.String `tfsdk:"description"` - Enabled types.String `tfsdk:"enabled"` - GroupName types.String `tfsdk:"group_name"` - RuleData *NpaPolicyRuleData `tfsdk:"rule_data"` - RuleName types.String `tfsdk:"rule_name"` - RuleOrder *RuleOrder `tfsdk:"rule_order"` - RuleID types.String `tfsdk:"rule_id"` + Description types.String `tfsdk:"description"` + Enabled types.String `tfsdk:"enabled"` + GroupName types.String `tfsdk:"group_name"` + RuleData *tfTypes.NpaPolicyRuleData `tfsdk:"rule_data"` + RuleName types.String `tfsdk:"rule_name"` + RuleOrder *tfTypes.RuleOrder `tfsdk:"rule_order"` + RuleID types.String `tfsdk:"rule_id"` } func (r *NPAPolicyResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) { @@ -308,7 +309,7 @@ func (r *NPAPolicyResource) Create(ctx context.Context, req resource.CreateReque } request := *data.ToSharedNpaPolicyRequest() - res, err := r.client.PostPolicyNpaRules(ctx, request) + res, err := r.client.CreateNPAPolicyRules(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { @@ -331,10 +332,10 @@ func (r *NPAPolicyResource) Create(ctx context.Context, req resource.CreateReque data.RefreshFromSharedNpaPolicyResponseItem(res.Object.Data) refreshPlan(ctx, plan, &data, resp.Diagnostics) id := data.RuleID.ValueString() - request1 := operations.GetPolicyNpaRulesIDRequest{ + request1 := operations.GetNPAPolicyRulesByIDRequest{ ID: id, } - res1, err := r.client.GetPolicyNpaRulesID(ctx, request1) + res1, err := r.client.GetNPAPolicyRulesByID(ctx, request1) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res1 != nil && res1.RawResponse != nil { @@ -380,10 +381,10 @@ func (r *NPAPolicyResource) Read(ctx context.Context, req resource.ReadRequest, } id := data.RuleID.ValueString() - request := operations.GetPolicyNpaRulesIDRequest{ + request := operations.GetNPAPolicyRulesByIDRequest{ ID: id, } - res, err := r.client.GetPolicyNpaRulesID(ctx, request) + res, err := r.client.GetNPAPolicyRulesByID(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { @@ -425,11 +426,11 @@ func (r *NPAPolicyResource) Update(ctx context.Context, req resource.UpdateReque id := data.RuleID.ValueString() npaPolicyRequest := *data.ToSharedNpaPolicyRequest() - request := operations.PatchPolicyNpaRulesIDRequest{ + request := operations.PatchNPAPolicyRulesByIDRequest{ ID: id, NpaPolicyRequest: npaPolicyRequest, } - res, err := r.client.PatchPolicyNpaRulesID(ctx, request) + res, err := r.client.PatchNPAPolicyRulesByID(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { @@ -452,10 +453,10 @@ func (r *NPAPolicyResource) Update(ctx context.Context, req resource.UpdateReque data.RefreshFromSharedNpaPolicyResponseItem(res.Object.Data) refreshPlan(ctx, plan, &data, resp.Diagnostics) id1 := data.RuleID.ValueString() - request1 := operations.GetPolicyNpaRulesIDRequest{ + request1 := operations.GetNPAPolicyRulesByIDRequest{ ID: id1, } - res1, err := r.client.GetPolicyNpaRulesID(ctx, request1) + res1, err := r.client.GetNPAPolicyRulesByID(ctx, request1) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res1 != nil && res1.RawResponse != nil { @@ -501,10 +502,10 @@ func (r *NPAPolicyResource) Delete(ctx context.Context, req resource.DeleteReque } id := data.RuleID.ValueString() - request := operations.DeletePolicyNpaRulesIDRequest{ + request := operations.DeleteNPAPolicyRulesRequest{ ID: id, } - res, err := r.client.DeletePolicyNpaRulesID(ctx, request) + res, err := r.client.DeleteNPAPolicyRules(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { diff --git a/internal/provider/npapolicy_resource_sdk.go b/internal/provider/npapolicy_resource_sdk.go index 3dabdf0..96a9c96 100644 --- a/internal/provider/npapolicy_resource_sdk.go +++ b/internal/provider/npapolicy_resource_sdk.go @@ -4,7 +4,8 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" ) func (r *NPAPolicyResourceModel) ToSharedNpaPolicyRequest() *shared.NpaPolicyRequest { @@ -261,8 +262,8 @@ func (r *NPAPolicyResourceModel) RefreshFromSharedNpaPolicyResponseItem(resp *sh if resp.RuleData == nil { r.RuleData = nil } else { - r.RuleData = &NpaPolicyRuleData{} - r.RuleData.AccessMethod = nil + r.RuleData = &tfTypes.NpaPolicyRuleData{} + r.RuleData.AccessMethod = []types.String{} for _, v := range resp.RuleData.AccessMethod { r.RuleData.AccessMethod = append(r.RuleData.AccessMethod, types.StringValue(v)) } @@ -273,8 +274,8 @@ func (r *NPAPolicyResourceModel) RefreshFromSharedNpaPolicyResponseItem(resp *sh r.RuleData.DlpActions = r.RuleData.DlpActions[:len(resp.RuleData.DlpActions)] } for dlpActionsCount, dlpActionsItem := range resp.RuleData.DlpActions { - var dlpActions1 NpaPolicyRuleDlp - dlpActions1.Actions = nil + var dlpActions1 tfTypes.NpaPolicyRuleDlp + dlpActions1.Actions = []types.String{} for _, v := range dlpActionsItem.Actions { dlpActions1.Actions = append(dlpActions1.Actions, types.StringValue(string(v))) } @@ -291,18 +292,18 @@ func (r *NPAPolicyResourceModel) RefreshFromSharedNpaPolicyResponseItem(resp *sh if resp.RuleData.MatchCriteriaAction == nil { r.RuleData.MatchCriteriaAction = nil } else { - r.RuleData.MatchCriteriaAction = &MatchCriteriaAction{} + r.RuleData.MatchCriteriaAction = &tfTypes.MatchCriteriaAction{} if resp.RuleData.MatchCriteriaAction.ActionName != nil { r.RuleData.MatchCriteriaAction.ActionName = types.StringValue(string(*resp.RuleData.MatchCriteriaAction.ActionName)) } else { r.RuleData.MatchCriteriaAction.ActionName = types.StringNull() } } - r.RuleData.NetLocationObj = nil + r.RuleData.NetLocationObj = []types.String{} for _, v := range resp.RuleData.NetLocationObj { r.RuleData.NetLocationObj = append(r.RuleData.NetLocationObj, types.StringValue(v)) } - r.RuleData.OrganizationUnits = nil + r.RuleData.OrganizationUnits = []types.String{} for _, v := range resp.RuleData.OrganizationUnits { r.RuleData.OrganizationUnits = append(r.RuleData.OrganizationUnits, types.StringValue(v)) } @@ -311,11 +312,11 @@ func (r *NPAPolicyResourceModel) RefreshFromSharedNpaPolicyResponseItem(resp *sh } else { r.RuleData.PolicyType = types.StringNull() } - r.RuleData.PrivateAppIds = nil + r.RuleData.PrivateAppIds = []types.String{} for _, v := range resp.RuleData.PrivateAppIds { r.RuleData.PrivateAppIds = append(r.RuleData.PrivateAppIds, types.StringValue(v)) } - r.RuleData.PrivateApps = nil + r.RuleData.PrivateApps = []types.String{} for _, v := range resp.RuleData.PrivateApps { r.RuleData.PrivateApps = append(r.RuleData.PrivateApps, types.StringValue(v)) } @@ -323,15 +324,15 @@ func (r *NPAPolicyResourceModel) RefreshFromSharedNpaPolicyResponseItem(resp *sh r.RuleData.PrivateAppsWithActivities = r.RuleData.PrivateAppsWithActivities[:len(resp.RuleData.PrivateAppsWithActivities)] } for privateAppsWithActivitiesCount, privateAppsWithActivitiesItem := range resp.RuleData.PrivateAppsWithActivities { - var privateAppsWithActivities1 PrivateAppsWithActivities + var privateAppsWithActivities1 tfTypes.PrivateAppsWithActivities for activitiesCount, activitiesItem := range privateAppsWithActivitiesItem.Activities { - var activities1 Activities + var activities1 tfTypes.Activities if activitiesItem.Activity != nil { activities1.Activity = types.StringValue(string(*activitiesItem.Activity)) } else { activities1.Activity = types.StringNull() } - activities1.ListOfConstraints = nil + activities1.ListOfConstraints = []types.String{} for _, v := range activitiesItem.ListOfConstraints { activities1.ListOfConstraints = append(activities1.ListOfConstraints, types.StringValue(v)) } @@ -350,24 +351,24 @@ func (r *NPAPolicyResourceModel) RefreshFromSharedNpaPolicyResponseItem(resp *sh r.RuleData.PrivateAppsWithActivities[privateAppsWithActivitiesCount].AppName = privateAppsWithActivities1.AppName } } - r.RuleData.PrivateAppTagIds = nil + r.RuleData.PrivateAppTagIds = []types.String{} for _, v := range resp.RuleData.PrivateAppTagIds { r.RuleData.PrivateAppTagIds = append(r.RuleData.PrivateAppTagIds, types.StringValue(v)) } - r.RuleData.PrivateAppTags = nil + r.RuleData.PrivateAppTags = []types.String{} for _, v := range resp.RuleData.PrivateAppTags { r.RuleData.PrivateAppTags = append(r.RuleData.PrivateAppTags, types.StringValue(v)) } r.RuleData.ShowDlpProfileActionTable = types.BoolPointerValue(resp.RuleData.ShowDlpProfileActionTable) - r.RuleData.SrcCountries = nil + r.RuleData.SrcCountries = []types.String{} for _, v := range resp.RuleData.SrcCountries { r.RuleData.SrcCountries = append(r.RuleData.SrcCountries, types.StringValue(v)) } - r.RuleData.UserGroups = nil + r.RuleData.UserGroups = []types.String{} for _, v := range resp.RuleData.UserGroups { r.RuleData.UserGroups = append(r.RuleData.UserGroups, types.StringValue(v)) } - r.RuleData.Users = nil + r.RuleData.Users = []types.String{} for _, v := range resp.RuleData.Users { r.RuleData.Users = append(r.RuleData.Users, types.StringValue(v)) } diff --git a/internal/provider/npapolicygroup_data_source.go b/internal/provider/npapolicygroup_data_source.go index 6dcd21d..e0d099c 100644 --- a/internal/provider/npapolicygroup_data_source.go +++ b/internal/provider/npapolicygroup_data_source.go @@ -10,7 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -117,10 +117,10 @@ func (r *NPAPolicyGroupDataSource) Read(ctx context.Context, req datasource.Read } id := data.GroupID.ValueString() - request := operations.GetPolicyNpaPolicygroupsIDRequest{ + request := operations.GetNPAPolicyGroupsByIDRequest{ ID: id, } - res, err := r.client.GetPolicyNpaPolicygroupsID(ctx, request) + res, err := r.client.GetNPAPolicyGroupsByID(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { diff --git a/internal/provider/npapolicygroup_data_source_sdk.go b/internal/provider/npapolicygroup_data_source_sdk.go index 1ebf68d..cb1f965 100644 --- a/internal/provider/npapolicygroup_data_source_sdk.go +++ b/internal/provider/npapolicygroup_data_source_sdk.go @@ -4,7 +4,7 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" ) func (r *NPAPolicyGroupDataSourceModel) RefreshFromSharedNpaPolicygroupResponseItem(resp *shared.NpaPolicygroupResponseItem) { diff --git a/internal/provider/npapolicygroup_resource.go b/internal/provider/npapolicygroup_resource.go index 0c9789a..c330372 100644 --- a/internal/provider/npapolicygroup_resource.go +++ b/internal/provider/npapolicygroup_resource.go @@ -16,8 +16,9 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" speakeasy_stringplanmodifier "github.com/speakeasy/terraform-provider-terraform/internal/planmodifiers/stringplanmodifier" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -35,15 +36,15 @@ type NPAPolicyGroupResource struct { // NPAPolicyGroupResourceModel describes the resource data model. type NPAPolicyGroupResourceModel struct { - CanBeEditedDeleted types.String `tfsdk:"can_be_edited_deleted"` - GroupID types.String `tfsdk:"group_id"` - GroupName types.String `tfsdk:"group_name"` - GroupOrder GroupOrder `tfsdk:"group_order"` - GroupPinnedID types.Int64 `tfsdk:"group_pinned_id"` - GroupProdID types.Int64 `tfsdk:"group_prod_id"` - GroupType types.String `tfsdk:"group_type"` - ModifyTime types.String `tfsdk:"modify_time"` - ModifyType types.String `tfsdk:"modify_type"` + CanBeEditedDeleted types.String `tfsdk:"can_be_edited_deleted"` + GroupID types.String `tfsdk:"group_id"` + GroupName types.String `tfsdk:"group_name"` + GroupOrder tfTypes.GroupOrder `tfsdk:"group_order"` + GroupPinnedID types.Int64 `tfsdk:"group_pinned_id"` + GroupProdID types.Int64 `tfsdk:"group_prod_id"` + GroupType types.String `tfsdk:"group_type"` + ModifyTime types.String `tfsdk:"modify_time"` + ModifyType types.String `tfsdk:"modify_type"` } func (r *NPAPolicyGroupResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) { @@ -157,10 +158,10 @@ func (r *NPAPolicyGroupResource) Create(ctx context.Context, req resource.Create } npaPolicygroupRequest := *data.ToSharedNpaPolicygroupRequest() - request := operations.PostPolicyNpaPolicygroupsRequest{ + request := operations.CreateNPAPolicyGroupsRequest{ NpaPolicygroupRequest: npaPolicygroupRequest, } - res, err := r.client.PostPolicyNpaPolicygroups(ctx, request) + res, err := r.client.CreateNPAPolicyGroups(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { @@ -183,10 +184,10 @@ func (r *NPAPolicyGroupResource) Create(ctx context.Context, req resource.Create data.RefreshFromSharedNpaPolicygroupResponseItem(res.Object.Data) refreshPlan(ctx, plan, &data, resp.Diagnostics) id := data.GroupID.ValueString() - request1 := operations.GetPolicyNpaPolicygroupsIDRequest{ + request1 := operations.GetNPAPolicyGroupsByIDRequest{ ID: id, } - res1, err := r.client.GetPolicyNpaPolicygroupsID(ctx, request1) + res1, err := r.client.GetNPAPolicyGroupsByID(ctx, request1) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res1 != nil && res1.RawResponse != nil { @@ -232,10 +233,10 @@ func (r *NPAPolicyGroupResource) Read(ctx context.Context, req resource.ReadRequ } id := data.GroupID.ValueString() - request := operations.GetPolicyNpaPolicygroupsIDRequest{ + request := operations.GetNPAPolicyGroupsByIDRequest{ ID: id, } - res, err := r.client.GetPolicyNpaPolicygroupsID(ctx, request) + res, err := r.client.GetNPAPolicyGroupsByID(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { @@ -300,10 +301,10 @@ func (r *NPAPolicyGroupResource) Delete(ctx context.Context, req resource.Delete } id := data.GroupID.ValueString() - request := operations.DeletePolicyNpaPolicygroupsIDRequest{ + request := operations.DeleteNPAPolicyGroupsRequest{ ID: id, } - res, err := r.client.DeletePolicyNpaPolicygroupsID(ctx, request) + res, err := r.client.DeleteNPAPolicyGroups(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { diff --git a/internal/provider/npapolicygroup_resource_sdk.go b/internal/provider/npapolicygroup_resource_sdk.go index 0739125..a1195f4 100644 --- a/internal/provider/npapolicygroup_resource_sdk.go +++ b/internal/provider/npapolicygroup_resource_sdk.go @@ -4,7 +4,7 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" ) func (r *NPAPolicyGroupResourceModel) ToSharedNpaPolicygroupRequest() *shared.NpaPolicygroupRequest { diff --git a/internal/provider/npapolicylist_data_source.go b/internal/provider/npapolicylist_data_source.go index 009fe89..7cf45a1 100644 --- a/internal/provider/npapolicylist_data_source.go +++ b/internal/provider/npapolicylist_data_source.go @@ -9,8 +9,9 @@ import ( "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -28,12 +29,12 @@ type NPAPolicyListDataSource struct { // NPAPolicyListDataSourceModel describes the data model. type NPAPolicyListDataSourceModel struct { - Data []NpaPolicyResponseItem `tfsdk:"data"` - Filter types.String `tfsdk:"filter"` - Limit types.Int64 `tfsdk:"limit"` - Offset types.Int64 `tfsdk:"offset"` - Sortby types.String `tfsdk:"sortby"` - Sortorder types.String `tfsdk:"sortorder"` + Data []tfTypes.NpaPolicyResponseItem `tfsdk:"data"` + Filter types.String `tfsdk:"filter"` + Limit types.Int64 `tfsdk:"limit"` + Offset types.Int64 `tfsdk:"offset"` + Sortby types.String `tfsdk:"sortby"` + Sortorder types.String `tfsdk:"sortorder"` } // Metadata returns the data source type name. @@ -274,14 +275,14 @@ func (r *NPAPolicyListDataSource) Read(ctx context.Context, req datasource.ReadR } else { sortorder = nil } - request := operations.GetPolicyNpaRulesRequest{ + request := operations.GetNPAPolicyRulesRequest{ Filter: filter, Limit: limit, Offset: offset, Sortby: sortby, Sortorder: sortorder, } - res, err := r.client.GetPolicyNpaRules(ctx, request) + res, err := r.client.GetNPAPolicyRules(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { diff --git a/internal/provider/npapolicylist_data_source_sdk.go b/internal/provider/npapolicylist_data_source_sdk.go index 96722b4..13a9caa 100644 --- a/internal/provider/npapolicylist_data_source_sdk.go +++ b/internal/provider/npapolicylist_data_source_sdk.go @@ -4,7 +4,8 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" ) func (r *NPAPolicyListDataSourceModel) RefreshFromSharedNpaPolicyListResponse(resp *shared.NpaPolicyListResponse) { @@ -13,12 +14,12 @@ func (r *NPAPolicyListDataSourceModel) RefreshFromSharedNpaPolicyListResponse(re r.Data = r.Data[:len(resp.Data)] } for dataCount, dataItem := range resp.Data { - var data1 NpaPolicyResponseItem + var data1 tfTypes.NpaPolicyResponseItem if dataItem.RuleData == nil { data1.RuleData = nil } else { - data1.RuleData = &NpaPolicyRuleData{} - data1.RuleData.AccessMethod = nil + data1.RuleData = &tfTypes.NpaPolicyRuleData{} + data1.RuleData.AccessMethod = []types.String{} for _, v := range dataItem.RuleData.AccessMethod { data1.RuleData.AccessMethod = append(data1.RuleData.AccessMethod, types.StringValue(v)) } @@ -26,8 +27,8 @@ func (r *NPAPolicyListDataSourceModel) RefreshFromSharedNpaPolicyListResponse(re data1.RuleData.BNegateSrcCountries = types.BoolPointerValue(dataItem.RuleData.BNegateSrcCountries) data1.RuleData.Classification = types.StringPointerValue(dataItem.RuleData.Classification) for dlpActionsCount, dlpActionsItem := range dataItem.RuleData.DlpActions { - var dlpActions1 NpaPolicyRuleDlp - dlpActions1.Actions = nil + var dlpActions1 tfTypes.NpaPolicyRuleDlp + dlpActions1.Actions = []types.String{} for _, v := range dlpActionsItem.Actions { dlpActions1.Actions = append(dlpActions1.Actions, types.StringValue(string(v))) } @@ -44,18 +45,18 @@ func (r *NPAPolicyListDataSourceModel) RefreshFromSharedNpaPolicyListResponse(re if dataItem.RuleData.MatchCriteriaAction == nil { data1.RuleData.MatchCriteriaAction = nil } else { - data1.RuleData.MatchCriteriaAction = &MatchCriteriaAction{} + data1.RuleData.MatchCriteriaAction = &tfTypes.MatchCriteriaAction{} if dataItem.RuleData.MatchCriteriaAction.ActionName != nil { data1.RuleData.MatchCriteriaAction.ActionName = types.StringValue(string(*dataItem.RuleData.MatchCriteriaAction.ActionName)) } else { data1.RuleData.MatchCriteriaAction.ActionName = types.StringNull() } } - data1.RuleData.NetLocationObj = nil + data1.RuleData.NetLocationObj = []types.String{} for _, v := range dataItem.RuleData.NetLocationObj { data1.RuleData.NetLocationObj = append(data1.RuleData.NetLocationObj, types.StringValue(v)) } - data1.RuleData.OrganizationUnits = nil + data1.RuleData.OrganizationUnits = []types.String{} for _, v := range dataItem.RuleData.OrganizationUnits { data1.RuleData.OrganizationUnits = append(data1.RuleData.OrganizationUnits, types.StringValue(v)) } @@ -64,24 +65,24 @@ func (r *NPAPolicyListDataSourceModel) RefreshFromSharedNpaPolicyListResponse(re } else { data1.RuleData.PolicyType = types.StringNull() } - data1.RuleData.PrivateAppIds = nil + data1.RuleData.PrivateAppIds = []types.String{} for _, v := range dataItem.RuleData.PrivateAppIds { data1.RuleData.PrivateAppIds = append(data1.RuleData.PrivateAppIds, types.StringValue(v)) } - data1.RuleData.PrivateApps = nil + data1.RuleData.PrivateApps = []types.String{} for _, v := range dataItem.RuleData.PrivateApps { data1.RuleData.PrivateApps = append(data1.RuleData.PrivateApps, types.StringValue(v)) } for privateAppsWithActivitiesCount, privateAppsWithActivitiesItem := range dataItem.RuleData.PrivateAppsWithActivities { - var privateAppsWithActivities1 PrivateAppsWithActivities + var privateAppsWithActivities1 tfTypes.PrivateAppsWithActivities for activitiesCount, activitiesItem := range privateAppsWithActivitiesItem.Activities { - var activities1 Activities + var activities1 tfTypes.Activities if activitiesItem.Activity != nil { activities1.Activity = types.StringValue(string(*activitiesItem.Activity)) } else { activities1.Activity = types.StringNull() } - activities1.ListOfConstraints = nil + activities1.ListOfConstraints = []types.String{} for _, v := range activitiesItem.ListOfConstraints { activities1.ListOfConstraints = append(activities1.ListOfConstraints, types.StringValue(v)) } @@ -100,24 +101,24 @@ func (r *NPAPolicyListDataSourceModel) RefreshFromSharedNpaPolicyListResponse(re data1.RuleData.PrivateAppsWithActivities[privateAppsWithActivitiesCount].AppName = privateAppsWithActivities1.AppName } } - data1.RuleData.PrivateAppTagIds = nil + data1.RuleData.PrivateAppTagIds = []types.String{} for _, v := range dataItem.RuleData.PrivateAppTagIds { data1.RuleData.PrivateAppTagIds = append(data1.RuleData.PrivateAppTagIds, types.StringValue(v)) } - data1.RuleData.PrivateAppTags = nil + data1.RuleData.PrivateAppTags = []types.String{} for _, v := range dataItem.RuleData.PrivateAppTags { data1.RuleData.PrivateAppTags = append(data1.RuleData.PrivateAppTags, types.StringValue(v)) } data1.RuleData.ShowDlpProfileActionTable = types.BoolPointerValue(dataItem.RuleData.ShowDlpProfileActionTable) - data1.RuleData.SrcCountries = nil + data1.RuleData.SrcCountries = []types.String{} for _, v := range dataItem.RuleData.SrcCountries { data1.RuleData.SrcCountries = append(data1.RuleData.SrcCountries, types.StringValue(v)) } - data1.RuleData.UserGroups = nil + data1.RuleData.UserGroups = []types.String{} for _, v := range dataItem.RuleData.UserGroups { data1.RuleData.UserGroups = append(data1.RuleData.UserGroups, types.StringValue(v)) } - data1.RuleData.Users = nil + data1.RuleData.Users = []types.String{} for _, v := range dataItem.RuleData.Users { data1.RuleData.Users = append(data1.RuleData.Users, types.StringValue(v)) } diff --git a/internal/provider/npapublishers_data_source.go b/internal/provider/npapublishers_data_source.go index 41b800d..93827de 100644 --- a/internal/provider/npapublishers_data_source.go +++ b/internal/provider/npapublishers_data_source.go @@ -9,8 +9,9 @@ import ( "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -28,16 +29,16 @@ type NPAPublishersDataSource struct { // NPAPublishersDataSourceModel describes the data model. type NPAPublishersDataSourceModel struct { - Assessment types.String `tfsdk:"assessment"` - CommonName types.String `tfsdk:"common_name"` - ID types.Int64 `tfsdk:"id"` - Lbrokerconnect types.Bool `tfsdk:"lbrokerconnect"` - Name types.String `tfsdk:"name"` - PublisherUpgradeProfileID types.Int64 `tfsdk:"publisher_upgrade_profile_id"` - Registered types.Bool `tfsdk:"registered"` - Status types.String `tfsdk:"status"` - StitcherID types.Int64 `tfsdk:"stitcher_id"` - Tags []TagItem `tfsdk:"tags"` + Assessment types.String `tfsdk:"assessment"` + CommonName types.String `tfsdk:"common_name"` + ID types.Int64 `tfsdk:"id"` + Lbrokerconnect types.Bool `tfsdk:"lbrokerconnect"` + Name types.String `tfsdk:"name"` + PublisherUpgradeProfileID types.Int64 `tfsdk:"publisher_upgrade_profile_id"` + Registered types.Bool `tfsdk:"registered"` + Status types.String `tfsdk:"status"` + StitcherID types.Int64 `tfsdk:"stitcher_id"` + Tags []tfTypes.TagItem `tfsdk:"tags"` } // Metadata returns the data source type name. @@ -137,7 +138,7 @@ func (r *NPAPublishersDataSource) Read(ctx context.Context, req datasource.ReadR } publisherID := int(data.ID.ValueInt64()) - request := operations.GetInfrastructurePublishersPublisherIDRequest{ + request := operations.GetNPAPublisherByIDRequest{ PublisherID: publisherID, } res, err := r.client.NPAPublishers.Read(ctx, request) diff --git a/internal/provider/npapublishers_data_source_sdk.go b/internal/provider/npapublishers_data_source_sdk.go index cb158b6..cd47fb0 100644 --- a/internal/provider/npapublishers_data_source_sdk.go +++ b/internal/provider/npapublishers_data_source_sdk.go @@ -5,7 +5,8 @@ package provider import ( "encoding/json" "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" ) func (r *NPAPublishersDataSourceModel) RefreshFromSharedPublisherResponseData(resp *shared.PublisherResponseData) { @@ -44,7 +45,7 @@ func (r *NPAPublishersDataSourceModel) RefreshFromSharedPublisherResponseData(re r.Tags = r.Tags[:len(resp.Tags)] } for tagsCount, tagsItem := range resp.Tags { - var tags1 TagItem + var tags1 tfTypes.TagItem if tagsItem.TagID != nil { tags1.TagID = types.Int64Value(int64(*tagsItem.TagID)) } else { diff --git a/internal/provider/npapublishers_resource.go b/internal/provider/npapublishers_resource.go index 9eb645a..4332efa 100644 --- a/internal/provider/npapublishers_resource.go +++ b/internal/provider/npapublishers_resource.go @@ -17,8 +17,9 @@ import ( "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" "github.com/speakeasy/terraform-provider-terraform/internal/validators" "strconv" ) @@ -38,17 +39,17 @@ type NPAPublishersResource struct { // NPAPublishersResourceModel describes the resource data model. type NPAPublishersResourceModel struct { - Assessment types.String `tfsdk:"assessment"` - CommonName types.String `tfsdk:"common_name"` - ID types.Int64 `tfsdk:"id"` - Lbrokerconnect types.Bool `tfsdk:"lbrokerconnect"` - Name types.String `tfsdk:"name"` - PublisherUpgradeProfileID types.Int64 `tfsdk:"publisher_upgrade_profile_id"` - PublisherUpgradeProfilesID types.Int64 `tfsdk:"publisher_upgrade_profiles_id"` - Registered types.Bool `tfsdk:"registered"` - Status types.String `tfsdk:"status"` - StitcherID types.Int64 `tfsdk:"stitcher_id"` - Tags []TagItem `tfsdk:"tags"` + Assessment types.String `tfsdk:"assessment"` + CommonName types.String `tfsdk:"common_name"` + ID types.Int64 `tfsdk:"id"` + Lbrokerconnect types.Bool `tfsdk:"lbrokerconnect"` + Name types.String `tfsdk:"name"` + PublisherUpgradeProfileID types.Int64 `tfsdk:"publisher_upgrade_profile_id"` + PublisherUpgradeProfilesID types.Int64 `tfsdk:"publisher_upgrade_profiles_id"` + Registered types.Bool `tfsdk:"registered"` + Status types.String `tfsdk:"status"` + StitcherID types.Int64 `tfsdk:"stitcher_id"` + Tags []tfTypes.TagItem `tfsdk:"tags"` } func (r *NPAPublishersResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) { @@ -172,7 +173,7 @@ func (r *NPAPublishersResource) Create(ctx context.Context, req resource.CreateR } publisherPostRequest := *data.ToSharedPublisherPostRequest() - request := operations.PostInfrastructurePublishersRequest{ + request := operations.CreateNPApublishersRequest{ PublisherPostRequest: publisherPostRequest, } res, err := r.client.NPAPublishers.Create(ctx, request) @@ -198,7 +199,7 @@ func (r *NPAPublishersResource) Create(ctx context.Context, req resource.CreateR data.RefreshFromSharedPublisherResponseData(res.PublisherResponse.Data) refreshPlan(ctx, plan, &data, resp.Diagnostics) publisherID := int(data.ID.ValueInt64()) - request1 := operations.GetInfrastructurePublishersPublisherIDRequest{ + request1 := operations.GetNPAPublisherByIDRequest{ PublisherID: publisherID, } res1, err := r.client.NPAPublishers.Read(ctx, request1) @@ -247,7 +248,7 @@ func (r *NPAPublishersResource) Read(ctx context.Context, req resource.ReadReque } publisherID := int(data.ID.ValueInt64()) - request := operations.GetInfrastructurePublishersPublisherIDRequest{ + request := operations.GetNPAPublisherByIDRequest{ PublisherID: publisherID, } res, err := r.client.NPAPublishers.Read(ctx, request) @@ -292,7 +293,7 @@ func (r *NPAPublishersResource) Update(ctx context.Context, req resource.UpdateR publisherID := int(data.ID.ValueInt64()) publisherPutRequest := *data.ToSharedPublisherPutRequest() - request := operations.PutInfrastructurePublishersPublisherIDRequest{ + request := operations.ReplaceNPAPublisherByIDRequest{ PublisherID: publisherID, PublisherPutRequest: publisherPutRequest, } @@ -319,7 +320,7 @@ func (r *NPAPublishersResource) Update(ctx context.Context, req resource.UpdateR data.RefreshFromSharedPublisherResponseData(res.PublisherResponse.Data) refreshPlan(ctx, plan, &data, resp.Diagnostics) publisherId1 := int(data.ID.ValueInt64()) - request1 := operations.GetInfrastructurePublishersPublisherIDRequest{ + request1 := operations.GetNPAPublisherByIDRequest{ PublisherID: publisherId1, } res1, err := r.client.NPAPublishers.Read(ctx, request1) @@ -368,7 +369,7 @@ func (r *NPAPublishersResource) Delete(ctx context.Context, req resource.DeleteR } publisherID := int(data.ID.ValueInt64()) - request := operations.DeleteInfrastructurePublishersPublisherIDRequest{ + request := operations.DeleteNPAPublishersRequest{ PublisherID: publisherID, } res, err := r.client.NPAPublishers.Delete(ctx, request) diff --git a/internal/provider/npapublishers_resource_sdk.go b/internal/provider/npapublishers_resource_sdk.go index 6eaa81e..bdf4081 100644 --- a/internal/provider/npapublishers_resource_sdk.go +++ b/internal/provider/npapublishers_resource_sdk.go @@ -5,7 +5,8 @@ package provider import ( "encoding/json" "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" ) func (r *NPAPublishersResourceModel) ToSharedPublisherPostRequest() *shared.PublisherPostRequest { @@ -84,7 +85,7 @@ func (r *NPAPublishersResourceModel) RefreshFromSharedPublisherResponseData(resp r.Tags = r.Tags[:len(resp.Tags)] } for tagsCount, tagsItem := range resp.Tags { - var tags1 TagItem + var tags1 tfTypes.TagItem if tagsItem.TagID != nil { tags1.TagID = types.Int64Value(int64(*tagsItem.TagID)) } else { diff --git a/internal/provider/npapublishersalertsconfiguration_data_source.go b/internal/provider/npapublishersalertsconfiguration_data_source.go index cc34329..7b68315 100644 --- a/internal/provider/npapublishersalertsconfiguration_data_source.go +++ b/internal/provider/npapublishersalertsconfiguration_data_source.go @@ -96,7 +96,7 @@ func (r *NPAPublishersAlertsConfigurationDataSource) Read(ctx context.Context, r return } - res, err := r.client.GetInfrastructurePublishersAlertsconfiguration(ctx) + res, err := r.client.GetNPAPublisherAlerts(ctx) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { diff --git a/internal/provider/npapublishersalertsconfiguration_data_source_sdk.go b/internal/provider/npapublishersalertsconfiguration_data_source_sdk.go index 0ce361d..277ff5a 100644 --- a/internal/provider/npapublishersalertsconfiguration_data_source_sdk.go +++ b/internal/provider/npapublishersalertsconfiguration_data_source_sdk.go @@ -4,16 +4,16 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" ) func (r *NPAPublishersAlertsConfigurationDataSourceModel) RefreshFromSharedPublishersAlertGetResponseData(resp *shared.PublishersAlertGetResponseData) { if resp != nil { - r.AdminUsers = nil + r.AdminUsers = []types.String{} for _, v := range resp.AdminUsers { r.AdminUsers = append(r.AdminUsers, types.StringValue(v)) } - r.EventTypes = nil + r.EventTypes = []types.String{} for _, v := range resp.EventTypes { r.EventTypes = append(r.EventTypes, types.StringValue(string(v))) } diff --git a/internal/provider/npapublishersalertsconfiguration_resource.go b/internal/provider/npapublishersalertsconfiguration_resource.go index 0922624..db5c82e 100644 --- a/internal/provider/npapublishersalertsconfiguration_resource.go +++ b/internal/provider/npapublishersalertsconfiguration_resource.go @@ -103,7 +103,7 @@ func (r *NPAPublishersAlertsConfigurationResource) Create(ctx context.Context, r } request := *data.ToSharedPublishersAlertPutRequest() - res, err := r.client.PutInfrastructurePublishersAlertsconfiguration(ctx, request) + res, err := r.client.ConfigureNPAPublisherAlerts(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { @@ -148,7 +148,7 @@ func (r *NPAPublishersAlertsConfigurationResource) Read(ctx context.Context, req return } - res, err := r.client.GetInfrastructurePublishersAlertsconfiguration(ctx) + res, err := r.client.GetNPAPublisherAlerts(ctx) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { @@ -189,7 +189,7 @@ func (r *NPAPublishersAlertsConfigurationResource) Update(ctx context.Context, r } request := *data.ToSharedPublishersAlertPutRequest() - res, err := r.client.PutInfrastructurePublishersAlertsconfiguration(ctx, request) + res, err := r.client.ConfigureNPAPublisherAlerts(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { diff --git a/internal/provider/npapublishersalertsconfiguration_resource_sdk.go b/internal/provider/npapublishersalertsconfiguration_resource_sdk.go index 562e582..9bf9f63 100644 --- a/internal/provider/npapublishersalertsconfiguration_resource_sdk.go +++ b/internal/provider/npapublishersalertsconfiguration_resource_sdk.go @@ -4,7 +4,7 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" ) func (r *NPAPublishersAlertsConfigurationResourceModel) ToSharedPublishersAlertPutRequest() *shared.PublishersAlertPutRequest { @@ -32,11 +32,11 @@ func (r *NPAPublishersAlertsConfigurationResourceModel) ToSharedPublishersAlertP func (r *NPAPublishersAlertsConfigurationResourceModel) RefreshFromSharedPublishersAlertGetResponseData(resp *shared.PublishersAlertGetResponseData) { if resp != nil { - r.AdminUsers = nil + r.AdminUsers = []types.String{} for _, v := range resp.AdminUsers { r.AdminUsers = append(r.AdminUsers, types.StringValue(v)) } - r.EventTypes = nil + r.EventTypes = []types.String{} for _, v := range resp.EventTypes { r.EventTypes = append(r.EventTypes, types.StringValue(string(v))) } diff --git a/internal/provider/npapublishersappslist_data_source.go b/internal/provider/npapublishersappslist_data_source.go index 093a0df..7df4e8f 100644 --- a/internal/provider/npapublishersappslist_data_source.go +++ b/internal/provider/npapublishersappslist_data_source.go @@ -9,8 +9,9 @@ import ( "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -28,9 +29,9 @@ type NPAPublishersAppsListDataSource struct { // NPAPublishersAppsListDataSourceModel describes the data model. type NPAPublishersAppsListDataSourceModel struct { - Data []PublisherAppsListResponseData `tfsdk:"data"` - PublisherID types.Int64 `tfsdk:"publisher_id"` - Status types.String `tfsdk:"status"` + Data []tfTypes.PublisherAppsListResponseData `tfsdk:"data"` + PublisherID types.Int64 `tfsdk:"publisher_id"` + Status types.String `tfsdk:"status"` } // Metadata returns the data source type name. @@ -179,7 +180,7 @@ func (r *NPAPublishersAppsListDataSource) Read(ctx context.Context, req datasour } publisherID := int(data.PublisherID.ValueInt64()) - request := operations.GetInfrastructurePublishersPublisherIDAppsRequest{ + request := operations.GetNPAPublisherAppsRequest{ PublisherID: publisherID, } res, err := r.client.NPAPublishersApps.ListObjects(ctx, request) diff --git a/internal/provider/npapublishersappslist_data_source_sdk.go b/internal/provider/npapublishersappslist_data_source_sdk.go index e4bd0ec..6afa16e 100644 --- a/internal/provider/npapublishersappslist_data_source_sdk.go +++ b/internal/provider/npapublishersappslist_data_source_sdk.go @@ -4,7 +4,8 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" ) func (r *NPAPublishersAppsListDataSourceModel) RefreshFromSharedPublisherAppsListResponse(resp *shared.PublisherAppsListResponse) { @@ -13,7 +14,7 @@ func (r *NPAPublishersAppsListDataSourceModel) RefreshFromSharedPublisherAppsLis r.Data = r.Data[:len(resp.Data)] } for dataCount, dataItem := range resp.Data { - var data1 PublisherAppsListResponseData + var data1 tfTypes.PublisherAppsListResponseData data1.ClientlessAccess = types.BoolPointerValue(dataItem.ClientlessAccess) data1.Host = types.StringPointerValue(dataItem.Host) if dataItem.ID != nil { @@ -23,7 +24,7 @@ func (r *NPAPublishersAppsListDataSourceModel) RefreshFromSharedPublisherAppsLis } data1.Name = types.StringPointerValue(dataItem.Name) for protocolsCount, protocolsItem := range dataItem.Protocols { - var protocols1 ProtocolResponseItem + var protocols1 tfTypes.ProtocolResponseItem protocols1.Port = types.StringPointerValue(protocolsItem.Port) protocols1.Transport = types.StringPointerValue(protocolsItem.Transport) if protocolsCount+1 > len(data1.Protocols) { @@ -35,7 +36,7 @@ func (r *NPAPublishersAppsListDataSourceModel) RefreshFromSharedPublisherAppsLis } data1.RealHost = types.StringPointerValue(dataItem.RealHost) for servicePublisherAssignmentsCount, servicePublisherAssignmentsItem := range dataItem.ServicePublisherAssignments { - var servicePublisherAssignments1 ServicePublisherAssignmentItem + var servicePublisherAssignments1 tfTypes.ServicePublisherAssignmentItem servicePublisherAssignments1.Primary = types.BoolPointerValue(servicePublisherAssignmentsItem.Primary) if servicePublisherAssignmentsItem.PublisherID != nil { servicePublisherAssignments1.PublisherID = types.Int64Value(int64(*servicePublisherAssignmentsItem.PublisherID)) @@ -45,7 +46,7 @@ func (r *NPAPublishersAppsListDataSourceModel) RefreshFromSharedPublisherAppsLis if servicePublisherAssignmentsItem.Reachability == nil { servicePublisherAssignments1.Reachability = nil } else { - servicePublisherAssignments1.Reachability = &Reachability{} + servicePublisherAssignments1.Reachability = &tfTypes.Reachability{} if servicePublisherAssignmentsItem.Reachability.ErrorCode != nil { servicePublisherAssignments1.Reachability.ErrorCode = types.Int64Value(int64(*servicePublisherAssignmentsItem.Reachability.ErrorCode)) } else { @@ -69,7 +70,7 @@ func (r *NPAPublishersAppsListDataSourceModel) RefreshFromSharedPublisherAppsLis } } for tagsCount, tagsItem := range dataItem.Tags { - var tags1 TagItem + var tags1 tfTypes.TagItem if tagsItem.TagID != nil { tags1.TagID = types.Int64Value(int64(*tagsItem.TagID)) } else { diff --git a/internal/provider/npapublishersbulkupgrade_resource.go b/internal/provider/npapublishersbulkupgrade_resource.go index b2ff75d..3e15bd8 100644 --- a/internal/provider/npapublishersbulkupgrade_resource.go +++ b/internal/provider/npapublishersbulkupgrade_resource.go @@ -16,6 +16,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" ) @@ -34,9 +35,9 @@ type NPAPublishersBulkUpgradeResource struct { // NPAPublishersBulkUpgradeResourceModel describes the resource data model. type NPAPublishersBulkUpgradeResourceModel struct { - Data []PublisherBulkItem `tfsdk:"data"` - Publishers *Publishers `tfsdk:"publishers"` - Status types.String `tfsdk:"status"` + Data []tfTypes.PublisherBulkItem `tfsdk:"data"` + Publishers *tfTypes.Publishers `tfsdk:"publishers"` + Status types.String `tfsdk:"status"` } func (r *NPAPublishersBulkUpgradeResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) { @@ -202,7 +203,7 @@ func (r *NPAPublishersBulkUpgradeResource) Create(ctx context.Context, req resou } request := *data.ToSharedPublisherBulkRequest() - res, err := r.client.PutInfrastructurePublishersBulk(ctx, request) + res, err := r.client.TriggerNPAPublisherUpdate(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { diff --git a/internal/provider/npapublishersbulkupgrade_resource_sdk.go b/internal/provider/npapublishersbulkupgrade_resource_sdk.go index a0bc1e4..1834b6b 100644 --- a/internal/provider/npapublishersbulkupgrade_resource_sdk.go +++ b/internal/provider/npapublishersbulkupgrade_resource_sdk.go @@ -4,7 +4,8 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" ) func (r *NPAPublishersBulkUpgradeResourceModel) ToSharedPublisherBulkRequest() *shared.PublisherBulkRequest { @@ -43,11 +44,11 @@ func (r *NPAPublishersBulkUpgradeResourceModel) RefreshFromSharedPublishersBulkR r.Data = r.Data[:len(resp.Data)] } for dataCount, dataItem := range resp.Data { - var data1 PublisherBulkItem + var data1 tfTypes.PublisherBulkItem if dataItem.Assessment == nil { data1.Assessment = nil } else { - data1.Assessment = &PublisherBulkItemAssessment{} + data1.Assessment = &tfTypes.PublisherBulkItemAssessment{} } data1.CommonName = types.StringPointerValue(dataItem.CommonName) if dataItem.ID != nil { @@ -74,7 +75,7 @@ func (r *NPAPublishersBulkUpgradeResourceModel) RefreshFromSharedPublishersBulkR data1.StitcherID = types.Int64Null() } for tagsCount, tagsItem := range dataItem.Tags { - var tags1 TagItem + var tags1 tfTypes.TagItem if tagsItem.TagID != nil { tags1.TagID = types.Int64Value(int64(*tagsItem.TagID)) } else { @@ -91,13 +92,13 @@ func (r *NPAPublishersBulkUpgradeResourceModel) RefreshFromSharedPublishersBulkR if dataItem.UpgradeFailedReason == nil { data1.UpgradeFailedReason = nil } else { - data1.UpgradeFailedReason = &PublisherBulkItemAssessment{} + data1.UpgradeFailedReason = &tfTypes.PublisherBulkItemAssessment{} } data1.UpgradeRequest = types.BoolPointerValue(dataItem.UpgradeRequest) if dataItem.UpgradeStatus == nil { data1.UpgradeStatus = nil } else { - data1.UpgradeStatus = &PublisherBulkItemAssessment{} + data1.UpgradeStatus = &tfTypes.PublisherBulkItemAssessment{} } if dataCount+1 > len(r.Data) { r.Data = append(r.Data, data1) diff --git a/internal/provider/npapublisherslist_data_source.go b/internal/provider/npapublisherslist_data_source.go index 3aa197c..0ed624e 100644 --- a/internal/provider/npapublisherslist_data_source.go +++ b/internal/provider/npapublisherslist_data_source.go @@ -9,8 +9,9 @@ import ( "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -28,10 +29,10 @@ type NPAPublishersListDataSource struct { // NPAPublishersListDataSourceModel describes the data model. type NPAPublishersListDataSourceModel struct { - Data *Data `tfsdk:"data"` - Fields types.String `tfsdk:"fields"` - Status types.String `tfsdk:"status"` - Total types.Int64 `tfsdk:"total"` + Data *tfTypes.Data `tfsdk:"data"` + Fields types.String `tfsdk:"fields"` + Status types.String `tfsdk:"status"` + Total types.Int64 `tfsdk:"total"` } // Metadata returns the data source type name. @@ -112,17 +113,8 @@ func (r *NPAPublishersListDataSource) Schema(ctx context.Context, req datasource "status": schema.StringAttribute{ Computed: true, }, - "stitcher_id": schema.SingleNestedAttribute{ + "stitcher_id": schema.Int64Attribute{ Computed: true, - Attributes: map[string]schema.Attribute{ - "integer": schema.Int64Attribute{ - Computed: true, - }, - "two": schema.SingleNestedAttribute{ - Computed: true, - Attributes: map[string]schema.Attribute{}, - }, - }, }, "tags": schema.ListAttribute{ Computed: true, @@ -228,7 +220,7 @@ func (r *NPAPublishersListDataSource) Read(ctx context.Context, req datasource.R } else { fields = nil } - request := operations.GetInfrastructurePublishersRequest{ + request := operations.GetNPAPublishersRequest{ Fields: fields, } res, err := r.client.NPAPublishers.ListObjects(ctx, request) diff --git a/internal/provider/npapublisherslist_data_source_sdk.go b/internal/provider/npapublisherslist_data_source_sdk.go index a436cb2..b28e0c0 100644 --- a/internal/provider/npapublisherslist_data_source_sdk.go +++ b/internal/provider/npapublisherslist_data_source_sdk.go @@ -5,7 +5,8 @@ package provider import ( "encoding/json" "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" ) func (r *NPAPublishersListDataSourceModel) RefreshFromSharedPublishersGetResponse(resp *shared.PublishersGetResponse) { @@ -13,18 +14,18 @@ func (r *NPAPublishersListDataSourceModel) RefreshFromSharedPublishersGetRespons if resp.Data == nil { r.Data = nil } else { - r.Data = &Data{} + r.Data = &tfTypes.Data{} if len(r.Data.Publishers) > len(resp.Data.Publishers) { r.Data.Publishers = r.Data.Publishers[:len(resp.Data.Publishers)] } for publishersCount, publishersItem := range resp.Data.Publishers { - var publishers1 Publisher + var publishers1 tfTypes.Publisher publishers1.AppsCount = types.Int64Value(publishersItem.AppsCount) if publishersItem.Assessment.Two != nil { - publishers1.Assessment.Two = &PublisherBulkItemAssessment{} + publishers1.Assessment.Two = &tfTypes.PublisherBulkItemAssessment{} } if publishersItem.Assessment.Assessment != nil { - publishers1.Assessment.Assessment = &Assessment{} + publishers1.Assessment.Assessment = &tfTypes.Assessment{} publishers1.Assessment.Assessment.EeeSupport = types.BoolValue(publishersItem.Assessment.Assessment.EeeSupport) publishers1.Assessment.Assessment.HddFree = types.StringValue(publishersItem.Assessment.Assessment.HddFree) publishers1.Assessment.Assessment.HddTotal = types.StringValue(publishersItem.Assessment.Assessment.HddTotal) @@ -33,7 +34,7 @@ func (r *NPAPublishersListDataSourceModel) RefreshFromSharedPublishersGetRespons publishers1.Assessment.Assessment.Version = types.StringValue(publishersItem.Assessment.Assessment.Version) } publishers1.CommonName = types.StringValue(publishersItem.CommonName) - publishers1.ConnectedApps = nil + publishers1.ConnectedApps = []types.String{} for _, v := range publishersItem.ConnectedApps { publishers1.ConnectedApps = append(publishers1.ConnectedApps, types.StringValue(v)) } @@ -43,12 +44,7 @@ func (r *NPAPublishersListDataSourceModel) RefreshFromSharedPublishersGetRespons publishers1.PublisherUpgradeProfilesExternalID = types.Int64Value(publishersItem.PublisherUpgradeProfilesExternalID) publishers1.Registered = types.BoolValue(publishersItem.Registered) publishers1.Status = types.StringValue(publishersItem.Status) - if publishersItem.StitcherID.Integer != nil { - publishers1.StitcherID.Integer = types.Int64PointerValue(publishersItem.StitcherID.Integer) - } - if publishersItem.StitcherID.StitcherID2 != nil { - publishers1.StitcherID.Two = &PublisherBulkItemAssessment{} - } + publishers1.StitcherID = types.Int64Value(publishersItem.StitcherID) publishers1.Tags = nil for _, tagsItem := range publishersItem.Tags { var tags1 types.String @@ -57,10 +53,10 @@ func (r *NPAPublishersListDataSourceModel) RefreshFromSharedPublishersGetRespons publishers1.Tags = append(publishers1.Tags, tags1) } if publishersItem.UpgradeFailedReason.UpgradeFailedReason2 != nil { - publishers1.UpgradeFailedReason.Two = &PublisherBulkItemAssessment{} + publishers1.UpgradeFailedReason.Two = &tfTypes.PublisherBulkItemAssessment{} } if publishersItem.UpgradeFailedReason.UpgradeFailedReason != nil { - publishers1.UpgradeFailedReason.UpgradeFailedReason = &UpgradeFailedReason{} + publishers1.UpgradeFailedReason.UpgradeFailedReason = &tfTypes.UpgradeFailedReason{} publishers1.UpgradeFailedReason.UpgradeFailedReason.Detail = types.StringValue(publishersItem.UpgradeFailedReason.UpgradeFailedReason.Detail) publishers1.UpgradeFailedReason.UpgradeFailedReason.ErrorCode = types.Int64Value(publishersItem.UpgradeFailedReason.UpgradeFailedReason.ErrorCode) publishers1.UpgradeFailedReason.UpgradeFailedReason.Timestamp = types.Int64Value(publishersItem.UpgradeFailedReason.UpgradeFailedReason.Timestamp) diff --git a/internal/provider/npapublishersreleaseslist_data_source.go b/internal/provider/npapublishersreleaseslist_data_source.go index 50ce58a..e362a31 100644 --- a/internal/provider/npapublishersreleaseslist_data_source.go +++ b/internal/provider/npapublishersreleaseslist_data_source.go @@ -9,8 +9,9 @@ import ( "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -28,9 +29,9 @@ type NPAPublishersReleasesListDataSource struct { // NPAPublishersReleasesListDataSourceModel describes the data model. type NPAPublishersReleasesListDataSourceModel struct { - Data []ReleaseItem `tfsdk:"data"` - Fields types.String `tfsdk:"fields"` - Status types.String `tfsdk:"status"` + Data []tfTypes.ReleaseItem `tfsdk:"data"` + Fields types.String `tfsdk:"fields"` + Status types.String `tfsdk:"status"` } // Metadata returns the data source type name. @@ -116,7 +117,7 @@ func (r *NPAPublishersReleasesListDataSource) Read(ctx context.Context, req data } else { fields = nil } - request := operations.GetInfrastructurePublishersReleasesRequest{ + request := operations.GetNPAPublisherObjectsRequest{ Fields: fields, } res, err := r.client.NPAPublishersReleases.ListObjects(ctx, request) diff --git a/internal/provider/npapublishersreleaseslist_data_source_sdk.go b/internal/provider/npapublishersreleaseslist_data_source_sdk.go index 555c174..4f03ee5 100644 --- a/internal/provider/npapublishersreleaseslist_data_source_sdk.go +++ b/internal/provider/npapublishersreleaseslist_data_source_sdk.go @@ -4,7 +4,8 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" ) func (r *NPAPublishersReleasesListDataSourceModel) RefreshFromSharedPublishersReleaseGetResponse(resp *shared.PublishersReleaseGetResponse) { @@ -13,7 +14,7 @@ func (r *NPAPublishersReleasesListDataSourceModel) RefreshFromSharedPublishersRe r.Data = r.Data[:len(resp.Data)] } for dataCount, dataItem := range resp.Data { - var data1 ReleaseItem + var data1 tfTypes.ReleaseItem data1.DockerTag = types.StringPointerValue(dataItem.DockerTag) data1.Name = types.StringPointerValue(dataItem.Name) data1.Version = types.StringPointerValue(dataItem.Version) diff --git a/internal/provider/npapublisherupgradeprofile_data_source.go b/internal/provider/npapublisherupgradeprofile_data_source.go index 3193ffd..ed5576c 100644 --- a/internal/provider/npapublisherupgradeprofile_data_source.go +++ b/internal/provider/npapublisherupgradeprofile_data_source.go @@ -10,7 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -113,7 +113,7 @@ func (r *NPAPublisherUpgradeProfileDataSource) Read(ctx context.Context, req dat } upgradeProfileID := int(data.ID.ValueInt64()) - request := operations.GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest{ + request := operations.GetNPAPublisherUpgradeProfilesRequest{ UpgradeProfileID: upgradeProfileID, } res, err := r.client.NPAPublisherUpgradeProfiles.Read(ctx, request) diff --git a/internal/provider/npapublisherupgradeprofile_data_source_sdk.go b/internal/provider/npapublisherupgradeprofile_data_source_sdk.go index 6357543..9135a56 100644 --- a/internal/provider/npapublisherupgradeprofile_data_source_sdk.go +++ b/internal/provider/npapublisherupgradeprofile_data_source_sdk.go @@ -4,7 +4,7 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" ) func (r *NPAPublisherUpgradeProfileDataSourceModel) RefreshFromSharedPublisherUpgradeProfileResponseData(resp *shared.PublisherUpgradeProfileResponseData) { diff --git a/internal/provider/npapublisherupgradeprofile_resource.go b/internal/provider/npapublisherupgradeprofile_resource.go index 749808b..a467a07 100644 --- a/internal/provider/npapublisherupgradeprofile_resource.go +++ b/internal/provider/npapublisherupgradeprofile_resource.go @@ -14,7 +14,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" "github.com/speakeasy/terraform-provider-terraform/internal/validators" "strconv" ) @@ -134,7 +134,7 @@ func (r *NPAPublisherUpgradeProfileResource) Create(ctx context.Context, req res } publisherUpgradeProfilePostRequest := data.ToSharedPublisherUpgradeProfilePostRequest() - request := operations.PostInfrastructurePublisherupgradeprofilesRequest{ + request := operations.CreateNPAPublisherUpradeProfilesRequest{ PublisherUpgradeProfilePostRequest: publisherUpgradeProfilePostRequest, } res, err := r.client.NPAPublisherUpgradeProfiles.Create(ctx, request) @@ -160,7 +160,7 @@ func (r *NPAPublisherUpgradeProfileResource) Create(ctx context.Context, req res data.RefreshFromSharedPublisherUpgradeProfileResponseData(res.PublisherUpgradeProfileResponse.Data) refreshPlan(ctx, plan, &data, resp.Diagnostics) upgradeProfileID := int(data.ID.ValueInt64()) - request1 := operations.GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest{ + request1 := operations.GetNPAPublisherUpgradeProfilesRequest{ UpgradeProfileID: upgradeProfileID, } res1, err := r.client.NPAPublisherUpgradeProfiles.Read(ctx, request1) @@ -209,7 +209,7 @@ func (r *NPAPublisherUpgradeProfileResource) Read(ctx context.Context, req resou } upgradeProfileID := int(data.ID.ValueInt64()) - request := operations.GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest{ + request := operations.GetNPAPublisherUpgradeProfilesRequest{ UpgradeProfileID: upgradeProfileID, } res, err := r.client.NPAPublisherUpgradeProfiles.Read(ctx, request) @@ -254,7 +254,7 @@ func (r *NPAPublisherUpgradeProfileResource) Update(ctx context.Context, req res upgradeProfileID := int(data.ID.ValueInt64()) publisherUpgradeProfilePutRequest := *data.ToSharedPublisherUpgradeProfilePutRequest() - request := operations.PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest{ + request := operations.ReplaceNPAPublisherUpgradeProfilesRequest{ UpgradeProfileID: upgradeProfileID, PublisherUpgradeProfilePutRequest: publisherUpgradeProfilePutRequest, } @@ -281,7 +281,7 @@ func (r *NPAPublisherUpgradeProfileResource) Update(ctx context.Context, req res data.RefreshFromSharedPublisherUpgradeProfileResponseData(res.PublisherUpgradeProfileResponse.Data) refreshPlan(ctx, plan, &data, resp.Diagnostics) upgradeProfileId1 := int(data.ID.ValueInt64()) - request1 := operations.GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest{ + request1 := operations.GetNPAPublisherUpgradeProfilesRequest{ UpgradeProfileID: upgradeProfileId1, } res1, err := r.client.NPAPublisherUpgradeProfiles.Read(ctx, request1) @@ -330,7 +330,7 @@ func (r *NPAPublisherUpgradeProfileResource) Delete(ctx context.Context, req res } upgradeProfileID := int(data.ID.ValueInt64()) - request := operations.DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest{ + request := operations.DeleteNPAPubliserUpgradeProfilesRequest{ UpgradeProfileID: upgradeProfileID, } res, err := r.client.NPAPublisherUpgradeProfiles.Delete(ctx, request) diff --git a/internal/provider/npapublisherupgradeprofile_resource_sdk.go b/internal/provider/npapublisherupgradeprofile_resource_sdk.go index 5c9c5fc..2dbf08d 100644 --- a/internal/provider/npapublisherupgradeprofile_resource_sdk.go +++ b/internal/provider/npapublisherupgradeprofile_resource_sdk.go @@ -5,7 +5,7 @@ package provider import ( "encoding/json" "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" ) func (r *NPAPublisherUpgradeProfileResourceModel) ToSharedPublisherUpgradeProfilePostRequest() *shared.PublisherUpgradeProfilePostRequest { diff --git a/internal/provider/npapublisherupgradeprofilelist_data_source.go b/internal/provider/npapublisherupgradeprofilelist_data_source.go index f90e217..b24a1d2 100644 --- a/internal/provider/npapublisherupgradeprofilelist_data_source.go +++ b/internal/provider/npapublisherupgradeprofilelist_data_source.go @@ -9,8 +9,9 @@ import ( "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -28,8 +29,8 @@ type NPAPublisherUpgradeProfileListDataSource struct { // NPAPublisherUpgradeProfileListDataSourceModel describes the data model. type NPAPublisherUpgradeProfileListDataSourceModel struct { - Data *PublisherUpgradeProfileGetResponseData `tfsdk:"data"` - Total types.Int64 `tfsdk:"total"` + Data *tfTypes.PublisherUpgradeProfileGetResponseData `tfsdk:"data"` + Total types.Int64 `tfsdk:"total"` } // Metadata returns the data source type name. @@ -142,7 +143,7 @@ func (r *NPAPublisherUpgradeProfileListDataSource) Read(ctx context.Context, req return } - request := operations.GetInfrastructurePublisherupgradeprofilesRequest{} + request := operations.GetPublisherUpgradeProfilesRequest{} res, err := r.client.NPAPublisherUpgradeProfiles.ListObjects(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) diff --git a/internal/provider/npapublisherupgradeprofilelist_data_source_sdk.go b/internal/provider/npapublisherupgradeprofilelist_data_source_sdk.go index 7ce83e8..98e4632 100644 --- a/internal/provider/npapublisherupgradeprofilelist_data_source_sdk.go +++ b/internal/provider/npapublisherupgradeprofilelist_data_source_sdk.go @@ -4,7 +4,8 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" ) func (r *NPAPublisherUpgradeProfileListDataSourceModel) RefreshFromSharedPublisherUpgradeProfileGetResponse(resp *shared.PublisherUpgradeProfileGetResponse) { @@ -12,12 +13,12 @@ func (r *NPAPublisherUpgradeProfileListDataSourceModel) RefreshFromSharedPublish if resp.Data == nil { r.Data = nil } else { - r.Data = &PublisherUpgradeProfileGetResponseData{} + r.Data = &tfTypes.PublisherUpgradeProfileGetResponseData{} if len(r.Data.UpgradeProfiles) > len(resp.Data.UpgradeProfiles) { r.Data.UpgradeProfiles = r.Data.UpgradeProfiles[:len(resp.Data.UpgradeProfiles)] } for upgradeProfilesCount, upgradeProfilesItem := range resp.Data.UpgradeProfiles { - var upgradeProfiles1 UpgradeProfiles + var upgradeProfiles1 tfTypes.UpgradeProfiles upgradeProfiles1.CreatedAt = types.StringPointerValue(upgradeProfilesItem.CreatedAt) upgradeProfiles1.DockerTag = types.StringPointerValue(upgradeProfilesItem.DockerTag) upgradeProfiles1.Enabled = types.BoolPointerValue(upgradeProfilesItem.Enabled) diff --git a/internal/provider/policygrouplist_data_source.go b/internal/provider/policygrouplist_data_source.go index 20f8b3a..d02be8b 100644 --- a/internal/provider/policygrouplist_data_source.go +++ b/internal/provider/policygrouplist_data_source.go @@ -9,8 +9,9 @@ import ( "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -28,12 +29,12 @@ type PolicyGroupListDataSource struct { // PolicyGroupListDataSourceModel describes the data model. type PolicyGroupListDataSourceModel struct { - Data []NpaPolicygroupResponseItem `tfsdk:"data"` - Filter types.String `tfsdk:"filter"` - Limit types.Int64 `tfsdk:"limit"` - Offset types.Int64 `tfsdk:"offset"` - Sortby types.String `tfsdk:"sortby"` - Sortorder types.String `tfsdk:"sortorder"` + Data []tfTypes.NpaPolicygroupResponseItem `tfsdk:"data"` + Filter types.String `tfsdk:"filter"` + Limit types.Int64 `tfsdk:"limit"` + Offset types.Int64 `tfsdk:"offset"` + Sortby types.String `tfsdk:"sortby"` + Sortorder types.String `tfsdk:"sortorder"` } // Metadata returns the data source type name. @@ -170,14 +171,14 @@ func (r *PolicyGroupListDataSource) Read(ctx context.Context, req datasource.Rea } else { sortorder = nil } - request := operations.GetPolicyNpaPolicygroupsRequest{ + request := operations.GetNPAPolicyGroupsRequest{ Filter: filter, Limit: limit, Offset: offset, Sortby: sortby, Sortorder: sortorder, } - res, err := r.client.GetPolicyNpaPolicygroups(ctx, request) + res, err := r.client.GetNPAPolicyGroups(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { diff --git a/internal/provider/policygrouplist_data_source_sdk.go b/internal/provider/policygrouplist_data_source_sdk.go index b27325c..ff5f846 100644 --- a/internal/provider/policygrouplist_data_source_sdk.go +++ b/internal/provider/policygrouplist_data_source_sdk.go @@ -4,7 +4,8 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" ) func (r *PolicyGroupListDataSourceModel) RefreshFromSharedNpaPolicygroupResponse(resp *shared.NpaPolicygroupResponse) { @@ -13,7 +14,7 @@ func (r *PolicyGroupListDataSourceModel) RefreshFromSharedNpaPolicygroupResponse r.Data = r.Data[:len(resp.Data)] } for dataCount, dataItem := range resp.Data { - var data1 NpaPolicygroupResponseItem + var data1 tfTypes.NpaPolicygroupResponseItem data1.CanBeEditedDeleted = types.StringPointerValue(dataItem.CanBeEditedDeleted) data1.GroupID = types.StringPointerValue(dataItem.GroupID) data1.GroupName = types.StringPointerValue(dataItem.GroupName) diff --git a/internal/provider/privateapp_resource.go b/internal/provider/privateapp_resource.go index 2420581..c134734 100644 --- a/internal/provider/privateapp_resource.go +++ b/internal/provider/privateapp_resource.go @@ -9,8 +9,9 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource/schema" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -28,20 +29,20 @@ type PrivateAppResource struct { // PrivateAppResourceModel describes the resource data model. type PrivateAppResourceModel struct { - AppName types.String `tfsdk:"app_name"` - ClientlessAccess types.Bool `tfsdk:"clientless_access"` - Host types.String `tfsdk:"host"` - ID types.Int64 `tfsdk:"id"` - Name types.String `tfsdk:"name"` - Protocols []ProtocolItem `tfsdk:"protocols"` - Publishers []PublisherItem `tfsdk:"publishers"` - PublisherTags []TagItemNoID `tfsdk:"publisher_tags"` - RealHost types.String `tfsdk:"real_host"` - ResolvedProtocols []ProtocolResponseItem `tfsdk:"resolved_protocols"` - ServicePublisherAssignments []ServicePublisherAssignmentItem `tfsdk:"service_publisher_assignments"` - Tags []TagItem `tfsdk:"tags"` - TrustSelfSignedCerts types.Bool `tfsdk:"trust_self_signed_certs"` - UsePublisherDNS types.Bool `tfsdk:"use_publisher_dns"` + AppName types.String `tfsdk:"app_name"` + ClientlessAccess types.Bool `tfsdk:"clientless_access"` + Host types.String `tfsdk:"host"` + ID types.Int64 `tfsdk:"id"` + Name types.String `tfsdk:"name"` + Protocols []tfTypes.ProtocolItem `tfsdk:"protocols"` + Publishers []tfTypes.PublisherItem `tfsdk:"publishers"` + PublisherTags []tfTypes.TagItemNoID `tfsdk:"publisher_tags"` + RealHost types.String `tfsdk:"real_host"` + ResolvedProtocols []tfTypes.ProtocolResponseItem `tfsdk:"resolved_protocols"` + ServicePublisherAssignments []tfTypes.ServicePublisherAssignmentItem `tfsdk:"service_publisher_assignments"` + Tags []tfTypes.TagItem `tfsdk:"tags"` + TrustSelfSignedCerts types.Bool `tfsdk:"trust_self_signed_certs"` + UsePublisherDNS types.Bool `tfsdk:"use_publisher_dns"` } func (r *PrivateAppResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) { @@ -220,10 +221,10 @@ func (r *PrivateAppResource) Create(ctx context.Context, req resource.CreateRequ } privateAppsRequest := *data.ToSharedPrivateAppsRequest() - request := operations.PostSteeringAppsPrivateRequest{ + request := operations.CreateNPAAppsRequest{ PrivateAppsRequest: privateAppsRequest, } - res, err := r.client.PostSteeringAppsPrivate(ctx, request) + res, err := r.client.CreateNPAApps(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { @@ -290,11 +291,11 @@ func (r *PrivateAppResource) Update(ctx context.Context, req resource.UpdateRequ privateAppID := int(data.ID.ValueInt64()) privateAppsPutRequest := *data.ToSharedPrivateAppsPutRequest() - request := operations.PutSteeringAppsPrivatePrivateAppIDRequest{ + request := operations.ReplaceNPAAppsByIDRequest{ PrivateAppID: privateAppID, PrivateAppsPutRequest: privateAppsPutRequest, } - res, err := r.client.PutSteeringAppsPrivatePrivateAppID(ctx, request) + res, err := r.client.ReplaceNPAAppsByID(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { @@ -340,10 +341,10 @@ func (r *PrivateAppResource) Delete(ctx context.Context, req resource.DeleteRequ } privateAppID := int(data.ID.ValueInt64()) - request := operations.DeleteSteeringAppsPrivatePrivateAppIDRequest{ + request := operations.DeleteNPAAppsRequest{ PrivateAppID: privateAppID, } - res, err := r.client.DeleteSteeringAppsPrivatePrivateAppID(ctx, request) + res, err := r.client.DeleteNPAApps(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { diff --git a/internal/provider/privateapp_resource_sdk.go b/internal/provider/privateapp_resource_sdk.go index a88f3c1..8dc6f67 100644 --- a/internal/provider/privateapp_resource_sdk.go +++ b/internal/provider/privateapp_resource_sdk.go @@ -4,7 +4,8 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" ) func (r *PrivateAppResourceModel) ToSharedPrivateAppsRequest() *shared.PrivateAppsRequest { @@ -136,7 +137,7 @@ func (r *PrivateAppResourceModel) RefreshFromSharedPrivateAppsResponseData(resp r.ResolvedProtocols = r.ResolvedProtocols[:len(resp.ResolvedProtocols)] } for resolvedProtocolsCount, resolvedProtocolsItem := range resp.ResolvedProtocols { - var resolvedProtocols1 ProtocolResponseItem + var resolvedProtocols1 tfTypes.ProtocolResponseItem resolvedProtocols1.Port = types.StringPointerValue(resolvedProtocolsItem.Port) resolvedProtocols1.Transport = types.StringPointerValue(resolvedProtocolsItem.Transport) if resolvedProtocolsCount+1 > len(r.ResolvedProtocols) { @@ -150,7 +151,7 @@ func (r *PrivateAppResourceModel) RefreshFromSharedPrivateAppsResponseData(resp r.ServicePublisherAssignments = r.ServicePublisherAssignments[:len(resp.ServicePublisherAssignments)] } for servicePublisherAssignmentsCount, servicePublisherAssignmentsItem := range resp.ServicePublisherAssignments { - var servicePublisherAssignments1 ServicePublisherAssignmentItem + var servicePublisherAssignments1 tfTypes.ServicePublisherAssignmentItem servicePublisherAssignments1.Primary = types.BoolPointerValue(servicePublisherAssignmentsItem.Primary) if servicePublisherAssignmentsItem.PublisherID != nil { servicePublisherAssignments1.PublisherID = types.Int64Value(int64(*servicePublisherAssignmentsItem.PublisherID)) @@ -160,7 +161,7 @@ func (r *PrivateAppResourceModel) RefreshFromSharedPrivateAppsResponseData(resp if servicePublisherAssignmentsItem.Reachability == nil { servicePublisherAssignments1.Reachability = nil } else { - servicePublisherAssignments1.Reachability = &Reachability{} + servicePublisherAssignments1.Reachability = &tfTypes.Reachability{} if servicePublisherAssignmentsItem.Reachability.ErrorCode != nil { servicePublisherAssignments1.Reachability.ErrorCode = types.Int64Value(int64(*servicePublisherAssignmentsItem.Reachability.ErrorCode)) } else { @@ -187,7 +188,7 @@ func (r *PrivateAppResourceModel) RefreshFromSharedPrivateAppsResponseData(resp r.Tags = r.Tags[:len(resp.Tags)] } for tagsCount, tagsItem := range resp.Tags { - var tags1 TagItem + var tags1 tfTypes.TagItem if tagsItem.TagID != nil { tags1.TagID = types.Int64Value(int64(*tagsItem.TagID)) } else { diff --git a/internal/provider/privateapplist_data_source.go b/internal/provider/privateapplist_data_source.go index 5639723..489c473 100644 --- a/internal/provider/privateapplist_data_source.go +++ b/internal/provider/privateapplist_data_source.go @@ -9,8 +9,9 @@ import ( "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -28,9 +29,9 @@ type PrivateAppListDataSource struct { // PrivateAppListDataSourceModel describes the data model. type PrivateAppListDataSourceModel struct { - Data *PrivateAppsGetResponseData `tfsdk:"data"` - Fields types.String `tfsdk:"fields"` - Total types.Int64 `tfsdk:"total"` + Data *tfTypes.PrivateAppsGetResponseData `tfsdk:"data"` + Fields types.String `tfsdk:"fields"` + Total types.Int64 `tfsdk:"total"` } // Metadata returns the data source type name. @@ -108,10 +109,10 @@ func (r *PrivateAppListDataSource) Read(ctx context.Context, req datasource.Read } else { fields = nil } - request := operations.GetSteeringAppsPrivateRequest{ + request := operations.GetNPAAppsRequest{ Fields: fields, } - res, err := r.client.GetSteeringAppsPrivate(ctx, request) + res, err := r.client.GetNPAApps(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { diff --git a/internal/provider/privateapplist_data_source_sdk.go b/internal/provider/privateapplist_data_source_sdk.go index 6366347..958ab39 100644 --- a/internal/provider/privateapplist_data_source_sdk.go +++ b/internal/provider/privateapplist_data_source_sdk.go @@ -5,7 +5,8 @@ package provider import ( "encoding/json" "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" ) func (r *PrivateAppListDataSourceModel) RefreshFromSharedPrivateAppsGetResponse(resp *shared.PrivateAppsGetResponse) { @@ -13,7 +14,7 @@ func (r *PrivateAppListDataSourceModel) RefreshFromSharedPrivateAppsGetResponse( if resp.Data == nil { r.Data = nil } else { - r.Data = &PrivateAppsGetResponseData{} + r.Data = &tfTypes.PrivateAppsGetResponseData{} r.Data.PrivateApps = nil for _, privateAppsItem := range resp.Data.PrivateApps { var privateApps1 types.String diff --git a/internal/provider/privateapptag_resource.go b/internal/provider/privateapptag_resource.go index e3ff01d..22cb00f 100644 --- a/internal/provider/privateapptag_resource.go +++ b/internal/provider/privateapptag_resource.go @@ -13,6 +13,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" ) @@ -31,12 +32,12 @@ type PrivateAppTagResource struct { // PrivateAppTagResourceModel describes the resource data model. type PrivateAppTagResourceModel struct { - ID types.String `tfsdk:"id"` - Ids []types.String `tfsdk:"ids"` - PublisherTags []TagItem `tfsdk:"publisher_tags"` - TagID types.Int64 `tfsdk:"tag_id"` - TagName types.String `tfsdk:"tag_name"` - Tags []TagItem `tfsdk:"tags"` + ID types.String `tfsdk:"id"` + Ids []types.String `tfsdk:"ids"` + PublisherTags []tfTypes.TagItem `tfsdk:"publisher_tags"` + TagID types.Int64 `tfsdk:"tag_id"` + TagName types.String `tfsdk:"tag_name"` + Tags []tfTypes.TagItem `tfsdk:"tags"` } func (r *PrivateAppTagResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) { @@ -162,7 +163,7 @@ func (r *PrivateAppTagResource) Create(ctx context.Context, req resource.CreateR } request := *data.ToSharedTagRequest() - res, err := r.client.PostSteeringAppsPrivateTags(ctx, request) + res, err := r.client.CreateNPATags(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { diff --git a/internal/provider/privateapptag_resource_sdk.go b/internal/provider/privateapptag_resource_sdk.go index 1c7fbbc..e2d5346 100644 --- a/internal/provider/privateapptag_resource_sdk.go +++ b/internal/provider/privateapptag_resource_sdk.go @@ -4,7 +4,7 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" ) func (r *PrivateAppTagResourceModel) ToSharedTagRequest() *shared.TagRequest { diff --git a/internal/provider/privateapptaglist_data_source.go b/internal/provider/privateapptaglist_data_source.go index a65e172..cd5e279 100644 --- a/internal/provider/privateapptaglist_data_source.go +++ b/internal/provider/privateapptaglist_data_source.go @@ -9,6 +9,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" ) @@ -27,7 +28,7 @@ type PrivateAppTagListDataSource struct { // PrivateAppTagListDataSourceModel describes the data model. type PrivateAppTagListDataSourceModel struct { - Data []TagItem `tfsdk:"data"` + Data []tfTypes.TagItem `tfsdk:"data"` } // Metadata returns the data source type name. @@ -96,7 +97,7 @@ func (r *PrivateAppTagListDataSource) Read(ctx context.Context, req datasource.R return } - res, err := r.client.GetSteeringAppsPrivateTags(ctx) + res, err := r.client.GetNPATags(ctx) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { diff --git a/internal/provider/privateapptaglist_data_source_sdk.go b/internal/provider/privateapptaglist_data_source_sdk.go index 2197401..10c874a 100644 --- a/internal/provider/privateapptaglist_data_source_sdk.go +++ b/internal/provider/privateapptaglist_data_source_sdk.go @@ -4,7 +4,8 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" ) func (r *PrivateAppTagListDataSourceModel) RefreshFromSharedTagResponse(resp *shared.TagResponse) { @@ -13,7 +14,7 @@ func (r *PrivateAppTagListDataSourceModel) RefreshFromSharedTagResponse(resp *sh r.Data = r.Data[:len(resp.Data)] } for dataCount, dataItem := range resp.Data { - var data1 TagItem + var data1 tfTypes.TagItem if dataItem.TagID != nil { data1.TagID = types.Int64Value(int64(*dataItem.TagID)) } else { diff --git a/internal/provider/privateapptagpolicyuselist_data_source.go b/internal/provider/privateapptagpolicyuselist_data_source.go index 6ef1346..ae080bd 100644 --- a/internal/provider/privateapptagpolicyuselist_data_source.go +++ b/internal/provider/privateapptagpolicyuselist_data_source.go @@ -9,6 +9,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" ) @@ -27,8 +28,8 @@ type PrivateAppTagPolicyUseListDataSource struct { // PrivateAppTagPolicyUseListDataSourceModel describes the data model. type PrivateAppTagPolicyUseListDataSourceModel struct { - Data []PostSteeringAppsPrivateTagsGetpolicyinuseData `tfsdk:"data"` - Ids []types.String `tfsdk:"ids"` + Data []tfTypes.RetrieveNPAPoliciesInUseData `tfsdk:"data"` + Ids []types.String `tfsdk:"ids"` } // Metadata returns the data source type name. @@ -98,8 +99,8 @@ func (r *PrivateAppTagPolicyUseListDataSource) Read(ctx context.Context, req dat return } - request := *data.ToOperationsPostSteeringAppsPrivateTagsGetpolicyinuseRequestBody() - res, err := r.client.PostSteeringAppsPrivateTagsGetpolicyinuse(ctx, request) + request := *data.ToOperationsRetrieveNPAPoliciesInUseRequestBody() + res, err := r.client.RetrieveNPAPoliciesInUse(ctx, request) if err != nil { resp.Diagnostics.AddError("failure to invoke API", err.Error()) if res != nil && res.RawResponse != nil { @@ -119,7 +120,7 @@ func (r *PrivateAppTagPolicyUseListDataSource) Read(ctx context.Context, req dat resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) return } - data.RefreshFromOperationsPostSteeringAppsPrivateTagsGetpolicyinuseResponseBody(res.Object) + data.RefreshFromOperationsRetrieveNPAPoliciesInUseResponseBody(res.Object) // Save updated data into Terraform state resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) diff --git a/internal/provider/privateapptagpolicyuselist_data_source_sdk.go b/internal/provider/privateapptagpolicyuselist_data_source_sdk.go index 8996f32..2c2cfdb 100644 --- a/internal/provider/privateapptagpolicyuselist_data_source_sdk.go +++ b/internal/provider/privateapptagpolicyuselist_data_source_sdk.go @@ -4,27 +4,28 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" ) -func (r *PrivateAppTagPolicyUseListDataSourceModel) ToOperationsPostSteeringAppsPrivateTagsGetpolicyinuseRequestBody() *operations.PostSteeringAppsPrivateTagsGetpolicyinuseRequestBody { +func (r *PrivateAppTagPolicyUseListDataSourceModel) ToOperationsRetrieveNPAPoliciesInUseRequestBody() *operations.RetrieveNPAPoliciesInUseRequestBody { var ids []string = nil for _, idsItem := range r.Ids { ids = append(ids, idsItem.ValueString()) } - out := operations.PostSteeringAppsPrivateTagsGetpolicyinuseRequestBody{ + out := operations.RetrieveNPAPoliciesInUseRequestBody{ Ids: ids, } return &out } -func (r *PrivateAppTagPolicyUseListDataSourceModel) RefreshFromOperationsPostSteeringAppsPrivateTagsGetpolicyinuseResponseBody(resp *operations.PostSteeringAppsPrivateTagsGetpolicyinuseResponseBody) { +func (r *PrivateAppTagPolicyUseListDataSourceModel) RefreshFromOperationsRetrieveNPAPoliciesInUseResponseBody(resp *operations.RetrieveNPAPoliciesInUseResponseBody) { if resp != nil { if len(r.Data) > len(resp.Data) { r.Data = r.Data[:len(resp.Data)] } for dataCount, dataItem := range resp.Data { - var data1 PostSteeringAppsPrivateTagsGetpolicyinuseData + var data1 tfTypes.RetrieveNPAPoliciesInUseData data1.Token = types.StringPointerValue(dataItem.Token) if dataCount+1 > len(r.Data) { r.Data = append(r.Data, data1) diff --git a/internal/provider/provider.go b/internal/provider/provider.go index 0d9932a..0757eeb 100644 --- a/internal/provider/provider.go +++ b/internal/provider/provider.go @@ -10,7 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) @@ -93,6 +93,8 @@ func (p *TerraformProvider) Resources(ctx context.Context) []func() resource.Res NewPrivateAppResource, NewPrivateAppTagResource, NewPublisherTokenResource, + NewSCIMGroupsResource, + NewSCIMUserResource, } } @@ -112,6 +114,9 @@ func (p *TerraformProvider) DataSources(ctx context.Context) []func() datasource NewPrivateAppListDataSource, NewPrivateAppTagListDataSource, NewPrivateAppTagPolicyUseListDataSource, + NewSCIMGroupsDataSource, + NewSCIMGroupsByIDDataSource, + NewSCIMUserDataSource, } } diff --git a/internal/provider/publishertoken_resource.go b/internal/provider/publishertoken_resource.go index 816d1b9..ccd4970 100644 --- a/internal/provider/publishertoken_resource.go +++ b/internal/provider/publishertoken_resource.go @@ -12,7 +12,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" "github.com/speakeasy/terraform-provider-terraform/internal/sdk" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" ) // Ensure provider defined types fully satisfy framework interfaces. @@ -96,7 +96,7 @@ func (r *PublisherTokenResource) Create(ctx context.Context, req resource.Create } publisherID := int(data.PublisherID.ValueInt64()) - request := operations.PostInfrastructurePublishersPublisherIDRegistrationTokenRequest{ + request := operations.GenerateNPAPublisherTokenRequest{ PublisherID: publisherID, } res, err := r.client.PublisherToken.Create(ctx, request) @@ -119,7 +119,7 @@ func (r *PublisherTokenResource) Create(ctx context.Context, req resource.Create resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) return } - data.RefreshFromOperationsPostInfrastructurePublishersPublisherIDRegistrationTokenData(res.Object.Data) + data.RefreshFromOperationsGenerateNPAPublisherTokenData(res.Object.Data) refreshPlan(ctx, plan, &data, resp.Diagnostics) // Save updated data into Terraform state diff --git a/internal/provider/publishertoken_resource_sdk.go b/internal/provider/publishertoken_resource_sdk.go index 5cf97e9..4afddd9 100644 --- a/internal/provider/publishertoken_resource_sdk.go +++ b/internal/provider/publishertoken_resource_sdk.go @@ -4,9 +4,9 @@ package provider import ( "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" ) -func (r *PublisherTokenResourceModel) RefreshFromOperationsPostInfrastructurePublishersPublisherIDRegistrationTokenData(resp operations.PostInfrastructurePublishersPublisherIDRegistrationTokenData) { +func (r *PublisherTokenResourceModel) RefreshFromOperationsGenerateNPAPublisherTokenData(resp operations.GenerateNPAPublisherTokenData) { r.Token = types.StringValue(resp.Token) } diff --git a/internal/provider/scimgroups_data_source.go b/internal/provider/scimgroups_data_source.go new file mode 100644 index 0000000..1ac86a8 --- /dev/null +++ b/internal/provider/scimgroups_data_source.go @@ -0,0 +1,182 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "context" + "fmt" + "github.com/hashicorp/terraform-plugin-framework/datasource" + "github.com/hashicorp/terraform-plugin-framework/datasource/schema" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" +) + +// Ensure provider defined types fully satisfy framework interfaces. +var _ datasource.DataSource = &SCIMGroupsDataSource{} +var _ datasource.DataSourceWithConfigure = &SCIMGroupsDataSource{} + +func NewSCIMGroupsDataSource() datasource.DataSource { + return &SCIMGroupsDataSource{} +} + +// SCIMGroupsDataSource is the data source implementation. +type SCIMGroupsDataSource struct { + client *sdk.TerraformProviderNs +} + +// SCIMGroupsDataSourceModel describes the data model. +type SCIMGroupsDataSourceModel struct { + Count types.Int64 `tfsdk:"count"` + Filter types.String `tfsdk:"filter"` + ItemsPerPage types.Int64 `tfsdk:"items_per_page"` + Resources []tfTypes.GetSCIMGroupsResources `tfsdk:"resources"` + Schemas []types.String `tfsdk:"schemas"` + StartIndex types.Int64 `tfsdk:"start_index"` + TotalResults types.Int64 `tfsdk:"total_results"` +} + +// Metadata returns the data source type name. +func (r *SCIMGroupsDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) { + resp.TypeName = req.ProviderTypeName + "_scim_groups" +} + +// Schema defines the schema for the data source. +func (r *SCIMGroupsDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) { + resp.Schema = schema.Schema{ + MarkdownDescription: "SCIMGroups DataSource", + + Attributes: map[string]schema.Attribute{ + "count": schema.Int64Attribute{ + Optional: true, + }, + "filter": schema.StringAttribute{ + Optional: true, + Description: `key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" `, + }, + "items_per_page": schema.Int64Attribute{ + Computed: true, + }, + "resources": schema.ListNestedAttribute{ + Computed: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "display_name": schema.StringAttribute{ + Computed: true, + Description: `Display name for group.`, + }, + "external_id": schema.StringAttribute{ + Computed: true, + Description: `Optional - Scim External ID`, + }, + "id": schema.StringAttribute{ + Computed: true, + Description: `SCIM Group ID`, + }, + }, + }, + }, + "schemas": schema.ListAttribute{ + Computed: true, + ElementType: types.StringType, + Description: `schema of the resource`, + }, + "start_index": schema.Int64Attribute{ + Computed: true, + Optional: true, + }, + "total_results": schema.Int64Attribute{ + Computed: true, + }, + }, + } +} + +func (r *SCIMGroupsDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) { + // Prevent panic if the provider has not been configured. + if req.ProviderData == nil { + return + } + + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) + + if !ok { + resp.Diagnostics.AddError( + "Unexpected DataSource Configure Type", + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), + ) + + return + } + + r.client = client +} + +func (r *SCIMGroupsDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) { + var data *SCIMGroupsDataSourceModel + var item types.Object + + resp.Diagnostics.Append(req.Config.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + filter := new(string) + if !data.Filter.IsUnknown() && !data.Filter.IsNull() { + *filter = data.Filter.ValueString() + } else { + filter = nil + } + startIndex := new(int64) + if !data.StartIndex.IsUnknown() && !data.StartIndex.IsNull() { + *startIndex = data.StartIndex.ValueInt64() + } else { + startIndex = nil + } + count := new(int64) + if !data.Count.IsUnknown() && !data.Count.IsNull() { + *count = data.Count.ValueInt64() + } else { + count = nil + } + request := operations.GetSCIMGroupsRequest{ + Filter: filter, + StartIndex: startIndex, + Count: count, + } + res, err := r.client.ScimGroups.GetSCIMGroups(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.TwoHundredApplicationJSONObject == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromOperationsGetSCIMGroupsResponseBody(res.TwoHundredApplicationJSONObject) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} diff --git a/internal/provider/scimgroups_data_source_sdk.go b/internal/provider/scimgroups_data_source_sdk.go new file mode 100644 index 0000000..269e8b3 --- /dev/null +++ b/internal/provider/scimgroups_data_source_sdk.go @@ -0,0 +1,37 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "github.com/hashicorp/terraform-plugin-framework/types" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" +) + +func (r *SCIMGroupsDataSourceModel) RefreshFromOperationsGetSCIMGroupsResponseBody(resp *operations.GetSCIMGroupsResponseBody) { + if resp != nil { + r.ItemsPerPage = types.Int64PointerValue(resp.ItemsPerPage) + if len(r.Resources) > len(resp.Resources) { + r.Resources = r.Resources[:len(resp.Resources)] + } + for resourcesCount, resourcesItem := range resp.Resources { + var resources1 tfTypes.GetSCIMGroupsResources + resources1.DisplayName = types.StringPointerValue(resourcesItem.DisplayName) + resources1.ExternalID = types.StringPointerValue(resourcesItem.ExternalID) + resources1.ID = types.StringPointerValue(resourcesItem.ID) + if resourcesCount+1 > len(r.Resources) { + r.Resources = append(r.Resources, resources1) + } else { + r.Resources[resourcesCount].DisplayName = resources1.DisplayName + r.Resources[resourcesCount].ExternalID = resources1.ExternalID + r.Resources[resourcesCount].ID = resources1.ID + } + } + r.Schemas = []types.String{} + for _, v := range resp.Schemas { + r.Schemas = append(r.Schemas, types.StringValue(v)) + } + r.StartIndex = types.Int64PointerValue(resp.StartIndex) + r.TotalResults = types.Int64PointerValue(resp.TotalResults) + } +} diff --git a/internal/provider/scimgroups_resource.go b/internal/provider/scimgroups_resource.go new file mode 100644 index 0000000..adb6376 --- /dev/null +++ b/internal/provider/scimgroups_resource.go @@ -0,0 +1,402 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "context" + "fmt" + "github.com/hashicorp/terraform-plugin-framework-validators/int64validator" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/listplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/objectplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/schema/validator" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + speakeasy_listplanmodifier "github.com/speakeasy/terraform-provider-terraform/internal/planmodifiers/listplanmodifier" + speakeasy_objectplanmodifier "github.com/speakeasy/terraform-provider-terraform/internal/planmodifiers/objectplanmodifier" + speakeasy_stringplanmodifier "github.com/speakeasy/terraform-provider-terraform/internal/planmodifiers/stringplanmodifier" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" +) + +// Ensure provider defined types fully satisfy framework interfaces. +var _ resource.Resource = &SCIMGroupsResource{} +var _ resource.ResourceWithImportState = &SCIMGroupsResource{} + +func NewSCIMGroupsResource() resource.Resource { + return &SCIMGroupsResource{} +} + +// SCIMGroupsResource defines the resource implementation. +type SCIMGroupsResource struct { + client *sdk.TerraformProviderNs +} + +// SCIMGroupsResourceModel describes the resource data model. +type SCIMGroupsResourceModel struct { + DisplayName types.String `tfsdk:"display_name"` + ExternalID types.String `tfsdk:"external_id"` + ID types.String `tfsdk:"id"` + ItemsPerPage types.Int64 `tfsdk:"items_per_page"` + Members []tfTypes.Members `tfsdk:"members"` + Meta *tfTypes.CreateSCIMGroupsMeta `tfsdk:"meta"` + Resources []tfTypes.GetSCIMGroupsResources `tfsdk:"resources"` + Schemas []types.String `tfsdk:"schemas"` + StartIndex types.Int64 `tfsdk:"start_index"` + Status types.Int64 `tfsdk:"status"` + TotalResults types.Int64 `tfsdk:"total_results"` +} + +func (r *SCIMGroupsResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) { + resp.TypeName = req.ProviderTypeName + "_scim_groups" +} + +func (r *SCIMGroupsResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { + resp.Schema = schema.Schema{ + MarkdownDescription: "SCIMGroups Resource", + + Attributes: map[string]schema.Attribute{ + "display_name": schema.StringAttribute{ + Computed: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplaceIfConfigured(), + speakeasy_stringplanmodifier.SuppressDiff(speakeasy_stringplanmodifier.ExplicitSuppress), + }, + Optional: true, + Description: `Display name for group. Requires replacement if changed. `, + }, + "external_id": schema.StringAttribute{ + Computed: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplaceIfConfigured(), + speakeasy_stringplanmodifier.SuppressDiff(speakeasy_stringplanmodifier.ExplicitSuppress), + }, + Optional: true, + Description: `Optional - Scim External ID. Requires replacement if changed. `, + }, + "id": schema.StringAttribute{ + Computed: true, + Description: `SCIM Group ID required`, + }, + "items_per_page": schema.Int64Attribute{ + Computed: true, + }, + "members": schema.ListNestedAttribute{ + Computed: true, + PlanModifiers: []planmodifier.List{ + listplanmodifier.RequiresReplaceIfConfigured(), + speakeasy_listplanmodifier.SuppressDiff(speakeasy_listplanmodifier.ExplicitSuppress), + }, + Optional: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "value": schema.StringAttribute{ + Computed: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplaceIfConfigured(), + speakeasy_stringplanmodifier.SuppressDiff(speakeasy_stringplanmodifier.ExplicitSuppress), + }, + Optional: true, + Description: `Requires replacement if changed. `, + }, + }, + }, + Description: `Requires replacement if changed. `, + }, + "meta": schema.SingleNestedAttribute{ + Computed: true, + PlanModifiers: []planmodifier.Object{ + objectplanmodifier.RequiresReplaceIfConfigured(), + speakeasy_objectplanmodifier.SuppressDiff(speakeasy_objectplanmodifier.ExplicitSuppress), + }, + Optional: true, + Attributes: map[string]schema.Attribute{ + "resource_type": schema.StringAttribute{ + Computed: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplaceIfConfigured(), + speakeasy_stringplanmodifier.SuppressDiff(speakeasy_stringplanmodifier.ExplicitSuppress), + }, + Optional: true, + Description: `resource type User/Group. Requires replacement if changed. `, + }, + }, + Description: `meta information. Requires replacement if changed. `, + }, + "resources": schema.ListNestedAttribute{ + Computed: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "id": schema.StringAttribute{ + Computed: true, + Description: `SCIM Group ID`, + }, + "display_name": schema.StringAttribute{ + Computed: true, + Description: `Display name for group.`, + }, + "external_id": schema.StringAttribute{ + Computed: true, + Description: `Optional - Scim External ID`, + }, + }, + }, + }, + "schemas": schema.ListAttribute{ + Computed: true, + PlanModifiers: []planmodifier.List{ + listplanmodifier.RequiresReplaceIfConfigured(), + speakeasy_listplanmodifier.SuppressDiff(speakeasy_listplanmodifier.ExplicitSuppress), + }, + Optional: true, + ElementType: types.StringType, + Description: `schema of the resource. Requires replacement if changed. `, + }, + "start_index": schema.Int64Attribute{ + Computed: true, + }, + "status": schema.Int64Attribute{ + Computed: true, + Description: `must be one of ["201", "200"]`, + Validators: []validator.Int64{ + int64validator.OneOf( + []int64{ + 201, + 200, + }..., + ), + }, + }, + "total_results": schema.Int64Attribute{ + Computed: true, + }, + }, + } +} + +func (r *SCIMGroupsResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) { + // Prevent panic if the provider has not been configured. + if req.ProviderData == nil { + return + } + + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) + + if !ok { + resp.Diagnostics.AddError( + "Unexpected Resource Configure Type", + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), + ) + + return + } + + r.client = client +} + +func (r *SCIMGroupsResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { + var data *SCIMGroupsResourceModel + var plan types.Object + + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(plan.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + request := data.ToOperationsCreateSCIMGroupsRequestBody() + res, err := r.client.ScimGroups.CreateSCIMGroups(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 201 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.TwoHundredAndOneApplicationJSONObject == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromOperationsCreateSCIMGroupsResponseBody(res.TwoHundredAndOneApplicationJSONObject) + refreshPlan(ctx, plan, &data, resp.Diagnostics) + var filter *string + startIndex := new(int64) + if !data.StartIndex.IsUnknown() && !data.StartIndex.IsNull() { + *startIndex = data.StartIndex.ValueInt64() + } else { + startIndex = nil + } + var count *int64 + request1 := operations.GetSCIMGroupsRequest{ + Filter: filter, + StartIndex: startIndex, + Count: count, + } + res1, err := r.client.ScimGroups.GetSCIMGroups(ctx, request1) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res1 != nil && res1.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res1.RawResponse)) + } + return + } + if res1 == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res1)) + return + } + if res1.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res1.StatusCode), debugResponse(res1.RawResponse)) + return + } + if res1.TwoHundredApplicationJSONObject == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res1.RawResponse)) + return + } + data.RefreshFromOperationsGetSCIMGroupsResponseBody(res1.TwoHundredApplicationJSONObject) + refreshPlan(ctx, plan, &data, resp.Diagnostics) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} + +func (r *SCIMGroupsResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { + var data *SCIMGroupsResourceModel + var item types.Object + + resp.Diagnostics.Append(req.State.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + var filter *string + startIndex := new(int64) + if !data.StartIndex.IsUnknown() && !data.StartIndex.IsNull() { + *startIndex = data.StartIndex.ValueInt64() + } else { + startIndex = nil + } + var count *int64 + request := operations.GetSCIMGroupsRequest{ + Filter: filter, + StartIndex: startIndex, + Count: count, + } + res, err := r.client.ScimGroups.GetSCIMGroups(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.TwoHundredApplicationJSONObject == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromOperationsGetSCIMGroupsResponseBody(res.TwoHundredApplicationJSONObject) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} + +func (r *SCIMGroupsResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { + var data *SCIMGroupsResourceModel + var plan types.Object + + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + + merge(ctx, req, resp, &data) + if resp.Diagnostics.HasError() { + return + } + + // Not Implemented; all attributes marked as RequiresReplace + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} + +func (r *SCIMGroupsResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { + var data *SCIMGroupsResourceModel + var item types.Object + + resp.Diagnostics.Append(req.State.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + id := data.ID.ValueString() + request := operations.DeleteSCIMUsersByIDRequest{ + ID: id, + } + res, err := r.client.ScimGroups.DeleteSCIMUsersByID(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 204 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + +} + +func (r *SCIMGroupsResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { + +} diff --git a/internal/provider/scimgroups_resource_sdk.go b/internal/provider/scimgroups_resource_sdk.go new file mode 100644 index 0000000..d4dcc21 --- /dev/null +++ b/internal/provider/scimgroups_resource_sdk.go @@ -0,0 +1,123 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "github.com/hashicorp/terraform-plugin-framework/types" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" +) + +func (r *SCIMGroupsResourceModel) ToOperationsCreateSCIMGroupsRequestBody() *operations.CreateSCIMGroupsRequestBody { + var schemas []operations.CreateSCIMGroupsSchemas = nil + for _, schemasItem := range r.Schemas { + schemas = append(schemas, operations.CreateSCIMGroupsSchemas(schemasItem.ValueString())) + } + displayName := new(string) + if !r.DisplayName.IsUnknown() && !r.DisplayName.IsNull() { + *displayName = r.DisplayName.ValueString() + } else { + displayName = nil + } + var members []operations.Members = nil + for _, membersItem := range r.Members { + value := new(string) + if !membersItem.Value.IsUnknown() && !membersItem.Value.IsNull() { + *value = membersItem.Value.ValueString() + } else { + value = nil + } + members = append(members, operations.Members{ + Value: value, + }) + } + externalID := new(string) + if !r.ExternalID.IsUnknown() && !r.ExternalID.IsNull() { + *externalID = r.ExternalID.ValueString() + } else { + externalID = nil + } + var meta *operations.CreateSCIMGroupsMeta + if r.Meta != nil { + resourceType := new(string) + if !r.Meta.ResourceType.IsUnknown() && !r.Meta.ResourceType.IsNull() { + *resourceType = r.Meta.ResourceType.ValueString() + } else { + resourceType = nil + } + meta = &operations.CreateSCIMGroupsMeta{ + ResourceType: resourceType, + } + } + out := operations.CreateSCIMGroupsRequestBody{ + Schemas: schemas, + DisplayName: displayName, + Members: members, + ExternalID: externalID, + Meta: meta, + } + return &out +} + +func (r *SCIMGroupsResourceModel) RefreshFromOperationsCreateSCIMGroupsResponseBody(resp *operations.CreateSCIMGroupsResponseBody) { + if resp != nil { + r.DisplayName = types.StringPointerValue(resp.DisplayName) + r.ExternalID = types.StringPointerValue(resp.ExternalID) + r.ID = types.StringPointerValue(resp.ID) + if len(r.Members) > len(resp.Members) { + r.Members = r.Members[:len(resp.Members)] + } + for membersCount, membersItem := range resp.Members { + var members1 tfTypes.Members + members1.Value = types.StringPointerValue(membersItem.Value) + if membersCount+1 > len(r.Members) { + r.Members = append(r.Members, members1) + } else { + r.Members[membersCount].Value = members1.Value + } + } + if resp.Meta == nil { + r.Meta = nil + } else { + r.Meta = &tfTypes.CreateSCIMGroupsMeta{} + r.Meta.ResourceType = types.StringPointerValue(resp.Meta.ResourceType) + } + r.Schemas = []types.String{} + for _, v := range resp.Schemas { + r.Schemas = append(r.Schemas, types.StringValue(string(v))) + } + if resp.Status != nil { + r.Status = types.Int64Value(int64(*resp.Status)) + } else { + r.Status = types.Int64Null() + } + } +} + +func (r *SCIMGroupsResourceModel) RefreshFromOperationsGetSCIMGroupsResponseBody(resp *operations.GetSCIMGroupsResponseBody) { + if resp != nil { + r.ItemsPerPage = types.Int64PointerValue(resp.ItemsPerPage) + if len(r.Resources) > len(resp.Resources) { + r.Resources = r.Resources[:len(resp.Resources)] + } + for resourcesCount, resourcesItem := range resp.Resources { + var resources1 tfTypes.GetSCIMGroupsResources + resources1.ID = types.StringPointerValue(resourcesItem.ID) + resources1.DisplayName = types.StringPointerValue(resourcesItem.DisplayName) + resources1.ExternalID = types.StringPointerValue(resourcesItem.ExternalID) + if resourcesCount+1 > len(r.Resources) { + r.Resources = append(r.Resources, resources1) + } else { + r.Resources[resourcesCount].ID = resources1.ID + r.Resources[resourcesCount].DisplayName = resources1.DisplayName + r.Resources[resourcesCount].ExternalID = resources1.ExternalID + } + } + r.Schemas = []types.String{} + for _, v := range resp.Schemas { + r.Schemas = append(r.Schemas, types.StringValue(string(v))) + } + r.StartIndex = types.Int64PointerValue(resp.StartIndex) + r.TotalResults = types.Int64PointerValue(resp.TotalResults) + } +} diff --git a/internal/provider/scimgroupsbyid_data_source.go b/internal/provider/scimgroupsbyid_data_source.go new file mode 100644 index 0000000..1383b22 --- /dev/null +++ b/internal/provider/scimgroupsbyid_data_source.go @@ -0,0 +1,143 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "context" + "fmt" + "github.com/hashicorp/terraform-plugin-framework/datasource" + "github.com/hashicorp/terraform-plugin-framework/datasource/schema" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" +) + +// Ensure provider defined types fully satisfy framework interfaces. +var _ datasource.DataSource = &SCIMGroupsByIDDataSource{} +var _ datasource.DataSourceWithConfigure = &SCIMGroupsByIDDataSource{} + +func NewSCIMGroupsByIDDataSource() datasource.DataSource { + return &SCIMGroupsByIDDataSource{} +} + +// SCIMGroupsByIDDataSource is the data source implementation. +type SCIMGroupsByIDDataSource struct { + client *sdk.TerraformProviderNs +} + +// SCIMGroupsByIDDataSourceModel describes the data model. +type SCIMGroupsByIDDataSourceModel struct { + DisplayName types.String `tfsdk:"display_name"` + ExternalID types.String `tfsdk:"external_id"` + ID types.String `tfsdk:"id"` + ResourceType types.String `tfsdk:"resource_type"` + Schemas []types.String `tfsdk:"schemas"` + Value types.String `tfsdk:"value"` +} + +// Metadata returns the data source type name. +func (r *SCIMGroupsByIDDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) { + resp.TypeName = req.ProviderTypeName + "_scim_groups_by_id" +} + +// Schema defines the schema for the data source. +func (r *SCIMGroupsByIDDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) { + resp.Schema = schema.Schema{ + MarkdownDescription: "SCIMGroupsByID DataSource", + + Attributes: map[string]schema.Attribute{ + "display_name": schema.StringAttribute{ + Computed: true, + Description: `Display name for group.`, + }, + "external_id": schema.StringAttribute{ + Computed: true, + Description: `Optional - Scim External ID`, + }, + "id": schema.StringAttribute{ + Required: true, + Description: `SCIM Group ID required.`, + }, + "resource_type": schema.StringAttribute{ + Computed: true, + Description: `resource type User/Group.`, + }, + "schemas": schema.ListAttribute{ + Computed: true, + ElementType: types.StringType, + Description: `schema of the resource`, + }, + "value": schema.StringAttribute{ + Computed: true, + }, + }, + } +} + +func (r *SCIMGroupsByIDDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) { + // Prevent panic if the provider has not been configured. + if req.ProviderData == nil { + return + } + + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) + + if !ok { + resp.Diagnostics.AddError( + "Unexpected DataSource Configure Type", + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), + ) + + return + } + + r.client = client +} + +func (r *SCIMGroupsByIDDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) { + var data *SCIMGroupsByIDDataSourceModel + var item types.Object + + resp.Diagnostics.Append(req.Config.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + id := data.ID.ValueString() + request := operations.GetSCIMGroupsByIDRequest{ + ID: id, + } + res, err := r.client.ScimGroups.GetSCIMGroupsByID(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.TwoHundredApplicationJSONObject == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} diff --git a/internal/provider/scimgroupsbyid_data_source_sdk.go b/internal/provider/scimgroupsbyid_data_source_sdk.go new file mode 100644 index 0000000..52547e1 --- /dev/null +++ b/internal/provider/scimgroupsbyid_data_source_sdk.go @@ -0,0 +1,3 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider diff --git a/internal/provider/scimuser_data_source.go b/internal/provider/scimuser_data_source.go new file mode 100644 index 0000000..01560e0 --- /dev/null +++ b/internal/provider/scimuser_data_source.go @@ -0,0 +1,181 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "context" + "fmt" + "github.com/hashicorp/terraform-plugin-framework/datasource" + "github.com/hashicorp/terraform-plugin-framework/datasource/schema" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" +) + +// Ensure provider defined types fully satisfy framework interfaces. +var _ datasource.DataSource = &SCIMUserDataSource{} +var _ datasource.DataSourceWithConfigure = &SCIMUserDataSource{} + +func NewSCIMUserDataSource() datasource.DataSource { + return &SCIMUserDataSource{} +} + +// SCIMUserDataSource is the data source implementation. +type SCIMUserDataSource struct { + client *sdk.TerraformProviderNs +} + +// SCIMUserDataSourceModel describes the data model. +type SCIMUserDataSourceModel struct { + Active types.Bool `tfsdk:"active"` + Emails []tfTypes.Emails `tfsdk:"emails"` + ExternalID types.String `tfsdk:"external_id"` + ID types.String `tfsdk:"id"` + Meta *tfTypes.CreateSCIMGroupsMeta `tfsdk:"meta"` + Name *tfTypes.Name `tfsdk:"name"` + Schemas []types.String `tfsdk:"schemas"` + UserName types.String `tfsdk:"user_name"` +} + +// Metadata returns the data source type name. +func (r *SCIMUserDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) { + resp.TypeName = req.ProviderTypeName + "_scim_user" +} + +// Schema defines the schema for the data source. +func (r *SCIMUserDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) { + resp.Schema = schema.Schema{ + MarkdownDescription: "SCIMUser DataSource", + + Attributes: map[string]schema.Attribute{ + "active": schema.BoolAttribute{ + Computed: true, + }, + "emails": schema.ListNestedAttribute{ + Computed: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "primary": schema.BoolAttribute{ + Computed: true, + }, + "value": schema.StringAttribute{ + Computed: true, + Description: `Email ID of the SCIM user`, + }, + }, + }, + }, + "external_id": schema.StringAttribute{ + Computed: true, + Description: `Optional - Scim External ID`, + }, + "id": schema.StringAttribute{ + Required: true, + Description: `SCIM Used ID should be specified`, + }, + "meta": schema.SingleNestedAttribute{ + Computed: true, + Attributes: map[string]schema.Attribute{ + "resource_type": schema.StringAttribute{ + Computed: true, + Description: `resource type User/Group.`, + }, + }, + Description: `meta information`, + }, + "name": schema.SingleNestedAttribute{ + Computed: true, + Attributes: map[string]schema.Attribute{ + "family_name": schema.StringAttribute{ + Computed: true, + Description: `last_name of the SCIM User.`, + }, + "given_name": schema.StringAttribute{ + Computed: true, + Description: `first_name of the SCIM User.`, + }, + }, + Description: `Family_name and given_name for the User`, + }, + "schemas": schema.ListAttribute{ + Computed: true, + ElementType: types.StringType, + Description: `schema of the resource`, + }, + "user_name": schema.StringAttribute{ + Computed: true, + Description: `UPN name of the SCIM User`, + }, + }, + } +} + +func (r *SCIMUserDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) { + // Prevent panic if the provider has not been configured. + if req.ProviderData == nil { + return + } + + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) + + if !ok { + resp.Diagnostics.AddError( + "Unexpected DataSource Configure Type", + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), + ) + + return + } + + r.client = client +} + +func (r *SCIMUserDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) { + var data *SCIMUserDataSourceModel + var item types.Object + + resp.Diagnostics.Append(req.Config.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + id := data.ID.ValueString() + request := operations.GetSCIMUsersByIDRequest{ + ID: id, + } + res, err := r.client.ScimUsers.GetSCIMUsersByID(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.TwoHundredApplicationJSONObject == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromOperationsGetSCIMUsersByIDResponseBody(res.TwoHundredApplicationJSONObject) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} diff --git a/internal/provider/scimuser_data_source_sdk.go b/internal/provider/scimuser_data_source_sdk.go new file mode 100644 index 0000000..27eb2ba --- /dev/null +++ b/internal/provider/scimuser_data_source_sdk.go @@ -0,0 +1,49 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "github.com/hashicorp/terraform-plugin-framework/types" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" +) + +func (r *SCIMUserDataSourceModel) RefreshFromOperationsGetSCIMUsersByIDResponseBody(resp *operations.GetSCIMUsersByIDResponseBody) { + if resp != nil { + r.Active = types.BoolPointerValue(resp.Active) + if len(r.Emails) > len(resp.Emails) { + r.Emails = r.Emails[:len(resp.Emails)] + } + for emailsCount, emailsItem := range resp.Emails { + var emails1 tfTypes.Emails + emails1.Primary = types.BoolPointerValue(emailsItem.Primary) + emails1.Value = types.StringPointerValue(emailsItem.Value) + if emailsCount+1 > len(r.Emails) { + r.Emails = append(r.Emails, emails1) + } else { + r.Emails[emailsCount].Primary = emails1.Primary + r.Emails[emailsCount].Value = emails1.Value + } + } + r.ExternalID = types.StringPointerValue(resp.ExternalID) + r.ID = types.StringPointerValue(resp.ID) + if resp.Meta == nil { + r.Meta = nil + } else { + r.Meta = &tfTypes.CreateSCIMGroupsMeta{} + r.Meta.ResourceType = types.StringPointerValue(resp.Meta.ResourceType) + } + if resp.Name == nil { + r.Name = nil + } else { + r.Name = &tfTypes.Name{} + r.Name.FamilyName = types.StringPointerValue(resp.Name.FamilyName) + r.Name.GivenName = types.StringPointerValue(resp.Name.GivenName) + } + r.Schemas = []types.String{} + for _, v := range resp.Schemas { + r.Schemas = append(r.Schemas, types.StringValue(string(v))) + } + r.UserName = types.StringPointerValue(resp.UserName) + } +} diff --git a/internal/provider/scimuser_resource.go b/internal/provider/scimuser_resource.go new file mode 100644 index 0000000..75a8d4b --- /dev/null +++ b/internal/provider/scimuser_resource.go @@ -0,0 +1,397 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "context" + "fmt" + "github.com/hashicorp/terraform-plugin-framework-validators/int64validator" + "github.com/hashicorp/terraform-plugin-framework/path" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/schema/validator" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-framework/types/basetypes" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" +) + +// Ensure provider defined types fully satisfy framework interfaces. +var _ resource.Resource = &SCIMUserResource{} +var _ resource.ResourceWithImportState = &SCIMUserResource{} + +func NewSCIMUserResource() resource.Resource { + return &SCIMUserResource{} +} + +// SCIMUserResource defines the resource implementation. +type SCIMUserResource struct { + client *sdk.TerraformProviderNs +} + +// SCIMUserResourceModel describes the resource data model. +type SCIMUserResourceModel struct { + Active types.Bool `tfsdk:"active"` + Emails []tfTypes.Emails `tfsdk:"emails"` + ExternalID types.String `tfsdk:"external_id"` + ID types.String `tfsdk:"id"` + Meta *tfTypes.CreateSCIMGroupsMeta `tfsdk:"meta"` + Name *tfTypes.Name `tfsdk:"name"` + Schemas []types.String `tfsdk:"schemas"` + Status types.Int64 `tfsdk:"status"` + UserName types.String `tfsdk:"user_name"` +} + +func (r *SCIMUserResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) { + resp.TypeName = req.ProviderTypeName + "_scim_user" +} + +func (r *SCIMUserResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { + resp.Schema = schema.Schema{ + MarkdownDescription: "SCIMUser Resource", + + Attributes: map[string]schema.Attribute{ + "active": schema.BoolAttribute{ + Computed: true, + Optional: true, + }, + "emails": schema.ListNestedAttribute{ + Computed: true, + Optional: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "primary": schema.BoolAttribute{ + Computed: true, + Optional: true, + }, + "value": schema.StringAttribute{ + Computed: true, + Optional: true, + Description: `Email ID of the SCIM user`, + }, + }, + }, + }, + "external_id": schema.StringAttribute{ + Computed: true, + Optional: true, + Description: `Optional - Scim External ID`, + }, + "id": schema.StringAttribute{ + Computed: true, + Description: `SCIM User ID required`, + }, + "meta": schema.SingleNestedAttribute{ + Computed: true, + Optional: true, + Attributes: map[string]schema.Attribute{ + "resource_type": schema.StringAttribute{ + Computed: true, + Optional: true, + Description: `resource type User/Group.`, + }, + }, + Description: `meta information`, + }, + "name": schema.SingleNestedAttribute{ + Computed: true, + Optional: true, + Attributes: map[string]schema.Attribute{ + "family_name": schema.StringAttribute{ + Computed: true, + Optional: true, + Description: `last_name of the SCIM User.`, + }, + "given_name": schema.StringAttribute{ + Computed: true, + Optional: true, + Description: `first_name of the SCIM User.`, + }, + }, + Description: `Family_name and given_name for the User`, + }, + "schemas": schema.ListAttribute{ + Computed: true, + Optional: true, + ElementType: types.StringType, + Description: `schema of the resource`, + }, + "status": schema.Int64Attribute{ + Computed: true, + Description: `must be one of ["201", "200"]`, + Validators: []validator.Int64{ + int64validator.OneOf( + []int64{ + 201, + 200, + }..., + ), + }, + }, + "user_name": schema.StringAttribute{ + Computed: true, + Optional: true, + Description: `UPN name of the SCIM User`, + }, + }, + } +} + +func (r *SCIMUserResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) { + // Prevent panic if the provider has not been configured. + if req.ProviderData == nil { + return + } + + client, ok := req.ProviderData.(*sdk.TerraformProviderNs) + + if !ok { + resp.Diagnostics.AddError( + "Unexpected Resource Configure Type", + fmt.Sprintf("Expected *sdk.TerraformProviderNs, got: %T. Please report this issue to the provider developers.", req.ProviderData), + ) + + return + } + + r.client = client +} + +func (r *SCIMUserResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { + var data *SCIMUserResourceModel + var plan types.Object + + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(plan.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + request := data.ToOperationsCreateSCIMUsersRequestBody() + res, err := r.client.ScimUsers.CreateSCIMUsers(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 201 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.TwoHundredAndOneApplicationJSONObject == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromOperationsCreateSCIMUsersResponseBody(res.TwoHundredAndOneApplicationJSONObject) + refreshPlan(ctx, plan, &data, resp.Diagnostics) + id := data.ID.ValueString() + request1 := operations.GetSCIMUsersByIDRequest{ + ID: id, + } + res1, err := r.client.ScimUsers.GetSCIMUsersByID(ctx, request1) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res1 != nil && res1.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res1.RawResponse)) + } + return + } + if res1 == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res1)) + return + } + if res1.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res1.StatusCode), debugResponse(res1.RawResponse)) + return + } + if res1.TwoHundredApplicationJSONObject == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res1.RawResponse)) + return + } + data.RefreshFromOperationsGetSCIMUsersByIDResponseBody(res1.TwoHundredApplicationJSONObject) + refreshPlan(ctx, plan, &data, resp.Diagnostics) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} + +func (r *SCIMUserResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { + var data *SCIMUserResourceModel + var item types.Object + + resp.Diagnostics.Append(req.State.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + id := data.ID.ValueString() + request := operations.GetSCIMUsersByIDRequest{ + ID: id, + } + res, err := r.client.ScimUsers.GetSCIMUsersByID(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.TwoHundredApplicationJSONObject == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromOperationsGetSCIMUsersByIDResponseBody(res.TwoHundredApplicationJSONObject) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} + +func (r *SCIMUserResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { + var data *SCIMUserResourceModel + var plan types.Object + + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + + merge(ctx, req, resp, &data) + if resp.Diagnostics.HasError() { + return + } + + id := data.ID.ValueString() + requestBody := data.ToOperationsPutSCIMUsersByIDRequestBody() + request := operations.PutSCIMUsersByIDRequest{ + ID: id, + RequestBody: requestBody, + } + res, err := r.client.ScimUsers.PutSCIMUsersByID(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + if res.TwoHundredApplicationJSONObject == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res.RawResponse)) + return + } + data.RefreshFromOperationsPutSCIMUsersByIDResponseBody(res.TwoHundredApplicationJSONObject) + refreshPlan(ctx, plan, &data, resp.Diagnostics) + id1 := data.ID.ValueString() + request1 := operations.GetSCIMUsersByIDRequest{ + ID: id1, + } + res1, err := r.client.ScimUsers.GetSCIMUsersByID(ctx, request1) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res1 != nil && res1.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res1.RawResponse)) + } + return + } + if res1 == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res1)) + return + } + if res1.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res1.StatusCode), debugResponse(res1.RawResponse)) + return + } + if res1.TwoHundredApplicationJSONObject == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res1.RawResponse)) + return + } + data.RefreshFromOperationsGetSCIMUsersByIDResponseBody(res1.TwoHundredApplicationJSONObject) + refreshPlan(ctx, plan, &data, resp.Diagnostics) + + // Save updated data into Terraform state + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} + +func (r *SCIMUserResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { + var data *SCIMUserResourceModel + var item types.Object + + resp.Diagnostics.Append(req.State.Get(ctx, &item)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(item.As(ctx, &data, basetypes.ObjectAsOptions{ + UnhandledNullAsEmpty: true, + UnhandledUnknownAsEmpty: true, + })...) + + if resp.Diagnostics.HasError() { + return + } + + id := data.ID.ValueString() + request := operations.DeleteSCIMUsersRequest{ + ID: id, + } + res, err := r.client.ScimUsers.DeleteSCIMUsers(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 204 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + +} + +func (r *SCIMUserResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { + resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("id"), req.ID)...) +} diff --git a/internal/provider/scimuser_resource_sdk.go b/internal/provider/scimuser_resource_sdk.go new file mode 100644 index 0000000..5221113 --- /dev/null +++ b/internal/provider/scimuser_resource_sdk.go @@ -0,0 +1,297 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package provider + +import ( + "github.com/hashicorp/terraform-plugin-framework/types" + tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" +) + +func (r *SCIMUserResourceModel) ToOperationsCreateSCIMUsersRequestBody() *operations.CreateSCIMUsersRequestBody { + var schemas []operations.Schemas = nil + for _, schemasItem := range r.Schemas { + schemas = append(schemas, operations.Schemas(schemasItem.ValueString())) + } + userName := new(string) + if !r.UserName.IsUnknown() && !r.UserName.IsNull() { + *userName = r.UserName.ValueString() + } else { + userName = nil + } + var name *operations.Name + if r.Name != nil { + familyName := new(string) + if !r.Name.FamilyName.IsUnknown() && !r.Name.FamilyName.IsNull() { + *familyName = r.Name.FamilyName.ValueString() + } else { + familyName = nil + } + givenName := new(string) + if !r.Name.GivenName.IsUnknown() && !r.Name.GivenName.IsNull() { + *givenName = r.Name.GivenName.ValueString() + } else { + givenName = nil + } + name = &operations.Name{ + FamilyName: familyName, + GivenName: givenName, + } + } + active := new(bool) + if !r.Active.IsUnknown() && !r.Active.IsNull() { + *active = r.Active.ValueBool() + } else { + active = nil + } + var emails []operations.Emails = nil + for _, emailsItem := range r.Emails { + value := new(string) + if !emailsItem.Value.IsUnknown() && !emailsItem.Value.IsNull() { + *value = emailsItem.Value.ValueString() + } else { + value = nil + } + primary := new(bool) + if !emailsItem.Primary.IsUnknown() && !emailsItem.Primary.IsNull() { + *primary = emailsItem.Primary.ValueBool() + } else { + primary = nil + } + emails = append(emails, operations.Emails{ + Value: value, + Primary: primary, + }) + } + externalID := new(string) + if !r.ExternalID.IsUnknown() && !r.ExternalID.IsNull() { + *externalID = r.ExternalID.ValueString() + } else { + externalID = nil + } + var meta *operations.Meta + if r.Meta != nil { + resourceType := new(string) + if !r.Meta.ResourceType.IsUnknown() && !r.Meta.ResourceType.IsNull() { + *resourceType = r.Meta.ResourceType.ValueString() + } else { + resourceType = nil + } + meta = &operations.Meta{ + ResourceType: resourceType, + } + } + out := operations.CreateSCIMUsersRequestBody{ + Schemas: schemas, + UserName: userName, + Name: name, + Active: active, + Emails: emails, + ExternalID: externalID, + Meta: meta, + } + return &out +} + +func (r *SCIMUserResourceModel) RefreshFromOperationsCreateSCIMUsersResponseBody(resp *operations.CreateSCIMUsersResponseBody) { + if resp != nil { + r.Active = types.BoolPointerValue(resp.Active) + if len(r.Emails) > len(resp.Emails) { + r.Emails = r.Emails[:len(resp.Emails)] + } + for emailsCount, emailsItem := range resp.Emails { + var emails1 tfTypes.Emails + emails1.Primary = types.BoolPointerValue(emailsItem.Primary) + emails1.Value = types.StringPointerValue(emailsItem.Value) + if emailsCount+1 > len(r.Emails) { + r.Emails = append(r.Emails, emails1) + } else { + r.Emails[emailsCount].Primary = emails1.Primary + r.Emails[emailsCount].Value = emails1.Value + } + } + r.ExternalID = types.StringPointerValue(resp.ExternalID) + r.ID = types.StringPointerValue(resp.ID) + if resp.Name == nil { + r.Name = nil + } else { + r.Name = &tfTypes.Name{} + r.Name.FamilyName = types.StringPointerValue(resp.Name.FamilyName) + r.Name.GivenName = types.StringPointerValue(resp.Name.GivenName) + } + r.Schemas = []types.String{} + for _, v := range resp.Schemas { + r.Schemas = append(r.Schemas, types.StringValue(string(v))) + } + if resp.Status != nil { + r.Status = types.Int64Value(int64(*resp.Status)) + } else { + r.Status = types.Int64Null() + } + r.UserName = types.StringPointerValue(resp.UserName) + } +} + +func (r *SCIMUserResourceModel) RefreshFromOperationsGetSCIMUsersByIDResponseBody(resp *operations.GetSCIMUsersByIDResponseBody) { + if resp != nil { + r.Active = types.BoolPointerValue(resp.Active) + if len(r.Emails) > len(resp.Emails) { + r.Emails = r.Emails[:len(resp.Emails)] + } + for emailsCount, emailsItem := range resp.Emails { + var emails1 tfTypes.Emails + emails1.Primary = types.BoolPointerValue(emailsItem.Primary) + emails1.Value = types.StringPointerValue(emailsItem.Value) + if emailsCount+1 > len(r.Emails) { + r.Emails = append(r.Emails, emails1) + } else { + r.Emails[emailsCount].Primary = emails1.Primary + r.Emails[emailsCount].Value = emails1.Value + } + } + r.ExternalID = types.StringPointerValue(resp.ExternalID) + r.ID = types.StringPointerValue(resp.ID) + if resp.Meta == nil { + r.Meta = nil + } else { + r.Meta = &tfTypes.CreateSCIMGroupsMeta{} + r.Meta.ResourceType = types.StringPointerValue(resp.Meta.ResourceType) + } + if resp.Name == nil { + r.Name = nil + } else { + r.Name = &tfTypes.Name{} + r.Name.FamilyName = types.StringPointerValue(resp.Name.FamilyName) + r.Name.GivenName = types.StringPointerValue(resp.Name.GivenName) + } + r.Schemas = []types.String{} + for _, v := range resp.Schemas { + r.Schemas = append(r.Schemas, types.StringValue(string(v))) + } + r.UserName = types.StringPointerValue(resp.UserName) + } +} + +func (r *SCIMUserResourceModel) ToOperationsPutSCIMUsersByIDRequestBody() *operations.PutSCIMUsersByIDRequestBody { + var schemas []operations.PutSCIMUsersByIDSchemas = nil + for _, schemasItem := range r.Schemas { + schemas = append(schemas, operations.PutSCIMUsersByIDSchemas(schemasItem.ValueString())) + } + userName := new(string) + if !r.UserName.IsUnknown() && !r.UserName.IsNull() { + *userName = r.UserName.ValueString() + } else { + userName = nil + } + var name *operations.PutSCIMUsersByIDName + if r.Name != nil { + familyName := new(string) + if !r.Name.FamilyName.IsUnknown() && !r.Name.FamilyName.IsNull() { + *familyName = r.Name.FamilyName.ValueString() + } else { + familyName = nil + } + givenName := new(string) + if !r.Name.GivenName.IsUnknown() && !r.Name.GivenName.IsNull() { + *givenName = r.Name.GivenName.ValueString() + } else { + givenName = nil + } + name = &operations.PutSCIMUsersByIDName{ + FamilyName: familyName, + GivenName: givenName, + } + } + active := new(bool) + if !r.Active.IsUnknown() && !r.Active.IsNull() { + *active = r.Active.ValueBool() + } else { + active = nil + } + var emails []operations.PutSCIMUsersByIDEmails = nil + for _, emailsItem := range r.Emails { + value := new(string) + if !emailsItem.Value.IsUnknown() && !emailsItem.Value.IsNull() { + *value = emailsItem.Value.ValueString() + } else { + value = nil + } + primary := new(bool) + if !emailsItem.Primary.IsUnknown() && !emailsItem.Primary.IsNull() { + *primary = emailsItem.Primary.ValueBool() + } else { + primary = nil + } + emails = append(emails, operations.PutSCIMUsersByIDEmails{ + Value: value, + Primary: primary, + }) + } + externalID := new(string) + if !r.ExternalID.IsUnknown() && !r.ExternalID.IsNull() { + *externalID = r.ExternalID.ValueString() + } else { + externalID = nil + } + var meta *operations.PutSCIMUsersByIDMeta + if r.Meta != nil { + resourceType := new(string) + if !r.Meta.ResourceType.IsUnknown() && !r.Meta.ResourceType.IsNull() { + *resourceType = r.Meta.ResourceType.ValueString() + } else { + resourceType = nil + } + meta = &operations.PutSCIMUsersByIDMeta{ + ResourceType: resourceType, + } + } + out := operations.PutSCIMUsersByIDRequestBody{ + Schemas: schemas, + UserName: userName, + Name: name, + Active: active, + Emails: emails, + ExternalID: externalID, + Meta: meta, + } + return &out +} + +func (r *SCIMUserResourceModel) RefreshFromOperationsPutSCIMUsersByIDResponseBody(resp *operations.PutSCIMUsersByIDResponseBody) { + if resp != nil { + r.Active = types.BoolPointerValue(resp.Active) + if len(r.Emails) > len(resp.Emails) { + r.Emails = r.Emails[:len(resp.Emails)] + } + for emailsCount, emailsItem := range resp.Emails { + var emails1 tfTypes.Emails + emails1.Primary = types.BoolPointerValue(emailsItem.Primary) + emails1.Value = types.StringPointerValue(emailsItem.Value) + if emailsCount+1 > len(r.Emails) { + r.Emails = append(r.Emails, emails1) + } else { + r.Emails[emailsCount].Primary = emails1.Primary + r.Emails[emailsCount].Value = emails1.Value + } + } + r.ExternalID = types.StringPointerValue(resp.ExternalID) + r.ID = types.StringPointerValue(resp.ID) + if resp.Name == nil { + r.Name = nil + } else { + r.Name = &tfTypes.Name{} + r.Name.FamilyName = types.StringPointerValue(resp.Name.FamilyName) + r.Name.GivenName = types.StringPointerValue(resp.Name.GivenName) + } + r.Schemas = []types.String{} + for _, v := range resp.Schemas { + r.Schemas = append(r.Schemas, types.StringValue(string(v))) + } + if resp.Status != nil { + r.Status = types.Int64Value(int64(*resp.Status)) + } else { + r.Status = types.Int64Null() + } + r.UserName = types.StringPointerValue(resp.UserName) + } +} diff --git a/internal/provider/type_stitcher_id.go b/internal/provider/type_stitcher_id.go deleted file mode 100644 index 67b6dac..0000000 --- a/internal/provider/type_stitcher_id.go +++ /dev/null @@ -1,10 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package provider - -import "github.com/hashicorp/terraform-plugin-framework/types" - -type StitcherID struct { - Integer types.Int64 `tfsdk:"integer"` - Two *PublisherBulkItemAssessment `tfsdk:"two"` -} diff --git a/internal/provider/type_activities.go b/internal/provider/types/activities.go similarity index 94% rename from internal/provider/type_activities.go rename to internal/provider/types/activities.go index 4acf8bf..39e81a6 100644 --- a/internal/provider/type_activities.go +++ b/internal/provider/types/activities.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_apply.go b/internal/provider/types/apply.go similarity index 92% rename from internal/provider/type_apply.go rename to internal/provider/types/apply.go index 2368931..6748387 100644 --- a/internal/provider/type_apply.go +++ b/internal/provider/types/apply.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_assessment.go b/internal/provider/types/assessment.go similarity index 96% rename from internal/provider/type_assessment.go rename to internal/provider/types/assessment.go index fe74660..3105ab7 100644 --- a/internal/provider/type_assessment.go +++ b/internal/provider/types/assessment.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/types/create_scim_groups_meta.go b/internal/provider/types/create_scim_groups_meta.go new file mode 100644 index 0000000..4627273 --- /dev/null +++ b/internal/provider/types/create_scim_groups_meta.go @@ -0,0 +1,9 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package types + +import "github.com/hashicorp/terraform-plugin-framework/types" + +type CreateSCIMGroupsMeta struct { + ResourceType types.String `tfsdk:"resource_type"` +} diff --git a/internal/provider/type_data.go b/internal/provider/types/data.go similarity index 89% rename from internal/provider/type_data.go rename to internal/provider/types/data.go index 5359235..e079232 100644 --- a/internal/provider/type_data.go +++ b/internal/provider/types/data.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types type Data struct { Publishers []Publisher `tfsdk:"publishers"` diff --git a/internal/provider/types/emails.go b/internal/provider/types/emails.go new file mode 100644 index 0000000..b266212 --- /dev/null +++ b/internal/provider/types/emails.go @@ -0,0 +1,10 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package types + +import "github.com/hashicorp/terraform-plugin-framework/types" + +type Emails struct { + Primary types.Bool `tfsdk:"primary"` + Value types.String `tfsdk:"value"` +} diff --git a/internal/provider/types/get_scim_groups_resources.go b/internal/provider/types/get_scim_groups_resources.go new file mode 100644 index 0000000..6c58933 --- /dev/null +++ b/internal/provider/types/get_scim_groups_resources.go @@ -0,0 +1,11 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package types + +import "github.com/hashicorp/terraform-plugin-framework/types" + +type GetSCIMGroupsResources struct { + ID types.String `tfsdk:"id"` + DisplayName types.String `tfsdk:"display_name"` + ExternalID types.String `tfsdk:"external_id"` +} diff --git a/internal/provider/type_group_order.go b/internal/provider/types/group_order.go similarity index 93% rename from internal/provider/type_group_order.go rename to internal/provider/types/group_order.go index eb58e90..72f72bc 100644 --- a/internal/provider/type_group_order.go +++ b/internal/provider/types/group_order.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_match_criteria_action.go b/internal/provider/types/match_criteria_action.go similarity index 92% rename from internal/provider/type_match_criteria_action.go rename to internal/provider/types/match_criteria_action.go index 6e23bcb..8789dbd 100644 --- a/internal/provider/type_match_criteria_action.go +++ b/internal/provider/types/match_criteria_action.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/types/members.go b/internal/provider/types/members.go new file mode 100644 index 0000000..2a6267d --- /dev/null +++ b/internal/provider/types/members.go @@ -0,0 +1,9 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package types + +import "github.com/hashicorp/terraform-plugin-framework/types" + +type Members struct { + Value types.String `tfsdk:"value"` +} diff --git a/internal/provider/types/name.go b/internal/provider/types/name.go new file mode 100644 index 0000000..ff65740 --- /dev/null +++ b/internal/provider/types/name.go @@ -0,0 +1,10 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package types + +import "github.com/hashicorp/terraform-plugin-framework/types" + +type Name struct { + FamilyName types.String `tfsdk:"family_name"` + GivenName types.String `tfsdk:"given_name"` +} diff --git a/internal/provider/type_npa_policy_response_item.go b/internal/provider/types/npa_policy_response_item.go similarity index 94% rename from internal/provider/type_npa_policy_response_item.go rename to internal/provider/types/npa_policy_response_item.go index 7190272..e94d7ee 100644 --- a/internal/provider/type_npa_policy_response_item.go +++ b/internal/provider/types/npa_policy_response_item.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_npa_policy_rule_data.go b/internal/provider/types/npa_policy_rule_data.go similarity index 99% rename from internal/provider/type_npa_policy_rule_data.go rename to internal/provider/types/npa_policy_rule_data.go index d2d44ae..88aeafd 100644 --- a/internal/provider/type_npa_policy_rule_data.go +++ b/internal/provider/types/npa_policy_rule_data.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_npa_policy_rule_dlp.go b/internal/provider/types/npa_policy_rule_dlp.go similarity index 93% rename from internal/provider/type_npa_policy_rule_dlp.go rename to internal/provider/types/npa_policy_rule_dlp.go index 3cf4143..a0daba6 100644 --- a/internal/provider/type_npa_policy_rule_dlp.go +++ b/internal/provider/types/npa_policy_rule_dlp.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_npa_policygroup_response_item.go b/internal/provider/types/npa_policygroup_response_item.go similarity index 97% rename from internal/provider/type_npa_policygroup_response_item.go rename to internal/provider/types/npa_policygroup_response_item.go index 956e068..4aa5ac3 100644 --- a/internal/provider/type_npa_policygroup_response_item.go +++ b/internal/provider/types/npa_policygroup_response_item.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_private_apps_get_response_data.go b/internal/provider/types/private_apps_get_response_data.go similarity index 93% rename from internal/provider/type_private_apps_get_response_data.go rename to internal/provider/types/private_apps_get_response_data.go index 7610718..6eaee4b 100644 --- a/internal/provider/type_private_apps_get_response_data.go +++ b/internal/provider/types/private_apps_get_response_data.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_private_apps_with_activities.go b/internal/provider/types/private_apps_with_activities.go similarity index 94% rename from internal/provider/type_private_apps_with_activities.go rename to internal/provider/types/private_apps_with_activities.go index 69bfd12..a23d110 100644 --- a/internal/provider/type_private_apps_with_activities.go +++ b/internal/provider/types/private_apps_with_activities.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_protocol_item.go b/internal/provider/types/protocol_item.go similarity index 93% rename from internal/provider/type_protocol_item.go rename to internal/provider/types/protocol_item.go index 43ae8e7..931a83a 100644 --- a/internal/provider/type_protocol_item.go +++ b/internal/provider/types/protocol_item.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_protocol_response_item.go b/internal/provider/types/protocol_response_item.go similarity index 93% rename from internal/provider/type_protocol_response_item.go rename to internal/provider/types/protocol_response_item.go index 698717e..007cab9 100644 --- a/internal/provider/type_protocol_response_item.go +++ b/internal/provider/types/protocol_response_item.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_publisher.go b/internal/provider/types/publisher.go similarity index 94% rename from internal/provider/type_publisher.go rename to internal/provider/types/publisher.go index 27d1390..1764072 100644 --- a/internal/provider/type_publisher.go +++ b/internal/provider/types/publisher.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" @@ -15,7 +15,7 @@ type Publisher struct { PublisherUpgradeProfilesExternalID types.Int64 `tfsdk:"publisher_upgrade_profiles_external_id"` Registered types.Bool `tfsdk:"registered"` Status types.String `tfsdk:"status"` - StitcherID StitcherID `tfsdk:"stitcher_id"` + StitcherID types.Int64 `tfsdk:"stitcher_id"` Tags []types.String `tfsdk:"tags"` UpgradeFailedReason PublisherUpgradeFailedReason `tfsdk:"upgrade_failed_reason"` UpgradeRequest types.Bool `tfsdk:"upgrade_request"` diff --git a/internal/provider/type_publisher_apps_list_response_data.go b/internal/provider/types/publisher_apps_list_response_data.go similarity index 98% rename from internal/provider/type_publisher_apps_list_response_data.go rename to internal/provider/types/publisher_apps_list_response_data.go index 8642c56..e0a854c 100644 --- a/internal/provider/type_publisher_apps_list_response_data.go +++ b/internal/provider/types/publisher_apps_list_response_data.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_publisher_assessment.go b/internal/provider/types/publisher_assessment.go similarity index 93% rename from internal/provider/type_publisher_assessment.go rename to internal/provider/types/publisher_assessment.go index b6122e7..3abb9f7 100644 --- a/internal/provider/type_publisher_assessment.go +++ b/internal/provider/types/publisher_assessment.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types type PublisherAssessment struct { Two *PublisherBulkItemAssessment `tfsdk:"two"` diff --git a/internal/provider/type_publisher_bulk_item.go b/internal/provider/types/publisher_bulk_item.go similarity index 98% rename from internal/provider/type_publisher_bulk_item.go rename to internal/provider/types/publisher_bulk_item.go index 1f4f62e..23f7736 100644 --- a/internal/provider/type_publisher_bulk_item.go +++ b/internal/provider/types/publisher_bulk_item.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_publisher_bulk_item_assessment.go b/internal/provider/types/publisher_bulk_item_assessment.go similarity index 87% rename from internal/provider/type_publisher_bulk_item_assessment.go rename to internal/provider/types/publisher_bulk_item_assessment.go index 9e3454d..9178d9f 100644 --- a/internal/provider/type_publisher_bulk_item_assessment.go +++ b/internal/provider/types/publisher_bulk_item_assessment.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types type PublisherBulkItemAssessment struct { } diff --git a/internal/provider/type_publisher_item.go b/internal/provider/types/publisher_item.go similarity index 94% rename from internal/provider/type_publisher_item.go rename to internal/provider/types/publisher_item.go index 405cc03..c6cee01 100644 --- a/internal/provider/type_publisher_item.go +++ b/internal/provider/types/publisher_item.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_publisher_upgrade_failed_reason.go b/internal/provider/types/publisher_upgrade_failed_reason.go similarity index 93% rename from internal/provider/type_publisher_upgrade_failed_reason.go rename to internal/provider/types/publisher_upgrade_failed_reason.go index 4a6c63a..9d9284d 100644 --- a/internal/provider/type_publisher_upgrade_failed_reason.go +++ b/internal/provider/types/publisher_upgrade_failed_reason.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types type PublisherUpgradeFailedReason struct { Two *PublisherBulkItemAssessment `tfsdk:"two"` diff --git a/internal/provider/type_publisher_upgrade_profile_get_response_data.go b/internal/provider/types/publisher_upgrade_profile_get_response_data.go similarity index 91% rename from internal/provider/type_publisher_upgrade_profile_get_response_data.go rename to internal/provider/types/publisher_upgrade_profile_get_response_data.go index e43659c..183fed0 100644 --- a/internal/provider/type_publisher_upgrade_profile_get_response_data.go +++ b/internal/provider/types/publisher_upgrade_profile_get_response_data.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types type PublisherUpgradeProfileGetResponseData struct { UpgradeProfiles []UpgradeProfiles `tfsdk:"upgrade_profiles"` diff --git a/internal/provider/type_publishers.go b/internal/provider/types/publishers.go similarity index 93% rename from internal/provider/type_publishers.go rename to internal/provider/types/publishers.go index ce152ed..6fc19ce 100644 --- a/internal/provider/type_publishers.go +++ b/internal/provider/types/publishers.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_reachability.go b/internal/provider/types/reachability.go similarity index 94% rename from internal/provider/type_reachability.go rename to internal/provider/types/reachability.go index 861e8be..1a946d1 100644 --- a/internal/provider/type_reachability.go +++ b/internal/provider/types/reachability.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_release_item.go b/internal/provider/types/release_item.go similarity index 94% rename from internal/provider/type_release_item.go rename to internal/provider/types/release_item.go index 3f230ab..1f7eedc 100644 --- a/internal/provider/type_release_item.go +++ b/internal/provider/types/release_item.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_post_steering_apps_private_tags_getpolicyinuse_data.go b/internal/provider/types/retrieve_npa_policies_in_use_data.go similarity index 69% rename from internal/provider/type_post_steering_apps_private_tags_getpolicyinuse_data.go rename to internal/provider/types/retrieve_npa_policies_in_use_data.go index 3b40645..24a1d2a 100644 --- a/internal/provider/type_post_steering_apps_private_tags_getpolicyinuse_data.go +++ b/internal/provider/types/retrieve_npa_policies_in_use_data.go @@ -1,9 +1,9 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" -type PostSteeringAppsPrivateTagsGetpolicyinuseData struct { +type RetrieveNPAPoliciesInUseData struct { Token types.String `tfsdk:"token"` } diff --git a/internal/provider/type_rule_order.go b/internal/provider/types/rule_order.go similarity index 95% rename from internal/provider/type_rule_order.go rename to internal/provider/types/rule_order.go index 765e420..19abee6 100644 --- a/internal/provider/type_rule_order.go +++ b/internal/provider/types/rule_order.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_service_publisher_assignment_item.go b/internal/provider/types/service_publisher_assignment_item.go similarity index 95% rename from internal/provider/type_service_publisher_assignment_item.go rename to internal/provider/types/service_publisher_assignment_item.go index 24f2786..d46ab44 100644 --- a/internal/provider/type_service_publisher_assignment_item.go +++ b/internal/provider/types/service_publisher_assignment_item.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_tag_item.go b/internal/provider/types/tag_item.go similarity index 93% rename from internal/provider/type_tag_item.go rename to internal/provider/types/tag_item.go index 7078280..126e7d2 100644 --- a/internal/provider/type_tag_item.go +++ b/internal/provider/types/tag_item.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_tag_item_no_id.go b/internal/provider/types/tag_item_no_id.go similarity index 92% rename from internal/provider/type_tag_item_no_id.go rename to internal/provider/types/tag_item_no_id.go index c81a4f5..82101b3 100644 --- a/internal/provider/type_tag_item_no_id.go +++ b/internal/provider/types/tag_item_no_id.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_upgrade_failed_reason.go b/internal/provider/types/upgrade_failed_reason.go similarity index 95% rename from internal/provider/type_upgrade_failed_reason.go rename to internal/provider/types/upgrade_failed_reason.go index ba86ecb..078d093 100644 --- a/internal/provider/type_upgrade_failed_reason.go +++ b/internal/provider/types/upgrade_failed_reason.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_upgrade_profiles.go b/internal/provider/types/upgrade_profiles.go similarity index 98% rename from internal/provider/type_upgrade_profiles.go rename to internal/provider/types/upgrade_profiles.go index 4596563..736586f 100644 --- a/internal/provider/type_upgrade_profiles.go +++ b/internal/provider/types/upgrade_profiles.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/provider/type_upgrade_status.go b/internal/provider/types/upgrade_status.go similarity index 92% rename from internal/provider/type_upgrade_status.go rename to internal/provider/types/upgrade_status.go index 4b9f723..96e3efa 100644 --- a/internal/provider/type_upgrade_status.go +++ b/internal/provider/types/upgrade_status.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package provider +package types import "github.com/hashicorp/terraform-plugin-framework/types" diff --git a/internal/sdk/.gitattributes b/internal/sdk/.gitattributes new file mode 100644 index 0000000..e6a9944 --- /dev/null +++ b/internal/sdk/.gitattributes @@ -0,0 +1,2 @@ +# This allows generated code to be indexed correctly +*.go linguist-generated=false \ No newline at end of file diff --git a/internal/sdk/.gitignore b/internal/sdk/.gitignore new file mode 100644 index 0000000..d3c2f59 --- /dev/null +++ b/internal/sdk/.gitignore @@ -0,0 +1 @@ +# .gitignore diff --git a/internal/sdk/internal/hooks/hooks.go b/internal/sdk/internal/hooks/hooks.go new file mode 100644 index 0000000..ee97182 --- /dev/null +++ b/internal/sdk/internal/hooks/hooks.go @@ -0,0 +1,144 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package hooks + +import ( + "context" + "errors" + "net/http" +) + +type FailEarly struct { + Cause error +} + +var _ error = (*FailEarly)(nil) + +func (f *FailEarly) Error() string { + return f.Cause.Error() +} + +// HTTPClient provides an interface for supplying the SDK with a custom HTTP client +type HTTPClient interface { + Do(req *http.Request) (*http.Response, error) +} + +type HookContext struct { + Context context.Context + OperationID string + OAuth2Scopes []string + SecuritySource func(context.Context) (interface{}, error) +} + +type BeforeRequestContext struct { + HookContext +} + +type AfterSuccessContext struct { + HookContext +} + +type AfterErrorContext struct { + HookContext +} + +// sdkInitHook is called when the SDK is initializing. The hook can modify and return a new baseURL and HTTP client to be used by the SDK. +type sdkInitHook interface { + SDKInit(baseURL string, client HTTPClient) (string, HTTPClient) +} + +// beforeRequestHook is called before the SDK sends a request. The hook can modify the request before it is sent or return an error to stop the request from being sent. +type beforeRequestHook interface { + BeforeRequest(hookCtx BeforeRequestContext, req *http.Request) (*http.Request, error) +} + +// afterSuccessHook is called after the SDK receives a response. The hook can modify the response before it is handled or return an error to stop the response from being handled. +type afterSuccessHook interface { + AfterSuccess(hookCtx AfterSuccessContext, res *http.Response) (*http.Response, error) +} + +// afterErrorHook is called after the SDK encounters an error, or a non-successful response. The hook can modify the response if available otherwise modify the error. +// All afterErrorHook hooks are called and returning an error won't stop the other hooks from being called. But if you want to stop the other hooks from being called, you can return a FailEarly error wrapping your error. +type afterErrorHook interface { + AfterError(hookCtx AfterErrorContext, res *http.Response, err error) (*http.Response, error) +} + +type Hooks struct { + sdkInitHooks []sdkInitHook + beforeRequestHook []beforeRequestHook + afterSuccessHook []afterSuccessHook + afterErrorHook []afterErrorHook +} + +func New() *Hooks { + h := &Hooks{ + sdkInitHooks: []sdkInitHook{}, + beforeRequestHook: []beforeRequestHook{}, + afterSuccessHook: []afterSuccessHook{}, + afterErrorHook: []afterErrorHook{}, + } + + initHooks(h) + + return h +} + +// registerSDKInitHook registers a hook to be used by the SDK for the initialization event. +func (h *Hooks) registerSDKInitHook(hook sdkInitHook) { + h.sdkInitHooks = append(h.sdkInitHooks, hook) +} + +// registerBeforeRequestHook registers a hook to be used by the SDK for the before request event. +func (h *Hooks) registerBeforeRequestHook(hook beforeRequestHook) { + h.beforeRequestHook = append(h.beforeRequestHook, hook) +} + +// registerAfterSuccessHook registers a hook to be used by the SDK for the after success event. +func (h *Hooks) registerAfterSuccessHook(hook afterSuccessHook) { + h.afterSuccessHook = append(h.afterSuccessHook, hook) +} + +// registerAfterErrorHook registers a hook to be used by the SDK for the after error event. +func (h *Hooks) registerAfterErrorHook(hook afterErrorHook) { + h.afterErrorHook = append(h.afterErrorHook, hook) +} + +func (h *Hooks) SDKInit(baseURL string, client HTTPClient) (string, HTTPClient) { + for _, hook := range h.sdkInitHooks { + baseURL, client = hook.SDKInit(baseURL, client) + } + return baseURL, client +} + +func (h *Hooks) BeforeRequest(hookCtx BeforeRequestContext, req *http.Request) (*http.Request, error) { + for _, hook := range h.beforeRequestHook { + var err error + req, err = hook.BeforeRequest(hookCtx, req) + if err != nil { + return req, err + } + } + return req, nil +} + +func (h *Hooks) AfterSuccess(hookCtx AfterSuccessContext, res *http.Response) (*http.Response, error) { + for _, hook := range h.afterSuccessHook { + var err error + res, err = hook.AfterSuccess(hookCtx, res) + if err != nil { + return res, err + } + } + return res, nil +} + +func (h *Hooks) AfterError(hookCtx AfterErrorContext, res *http.Response, err error) (*http.Response, error) { + for _, hook := range h.afterErrorHook { + res, err = hook.AfterError(hookCtx, res, err) + var fe *FailEarly + if errors.As(err, &fe) { + return nil, fe.Cause + } + } + return res, err +} diff --git a/internal/sdk/internal/hooks/registration.go b/internal/sdk/internal/hooks/registration.go new file mode 100644 index 0000000..e68bf4c --- /dev/null +++ b/internal/sdk/internal/hooks/registration.go @@ -0,0 +1,15 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package hooks + +/* + * This file is only ever generated once on the first generation and then is free to be modified. + * Any hooks you wish to add should be registered in the InitHooks function. Feel free to define them + * in this file or in separate files in the hooks package. + */ + +func initHooks(h *Hooks) { + // Add hooks by calling h.register{SDKInit/BeforeRequest/AfterSuccess/AfterError}Hook + // with an instance of a hook that implements that specific Hook interface + // Hooks are registered per SDK instance, and are valid for the lifetime of the SDK instance +} diff --git a/internal/sdk/pkg/utils/contenttype.go b/internal/sdk/internal/utils/contenttype.go similarity index 100% rename from internal/sdk/pkg/utils/contenttype.go rename to internal/sdk/internal/utils/contenttype.go diff --git a/internal/sdk/pkg/utils/form.go b/internal/sdk/internal/utils/form.go similarity index 99% rename from internal/sdk/pkg/utils/form.go rename to internal/sdk/internal/utils/form.go index 9811578..1fafec1 100644 --- a/internal/sdk/pkg/utils/form.go +++ b/internal/sdk/internal/utils/form.go @@ -12,7 +12,7 @@ import ( "github.com/ericlagergren/decimal" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/types" ) func populateForm(paramName string, explode bool, objType reflect.Type, objValue reflect.Value, delimiter string, getFieldName func(reflect.StructField) string) url.Values { diff --git a/internal/sdk/pkg/utils/headers.go b/internal/sdk/internal/utils/headers.go similarity index 100% rename from internal/sdk/pkg/utils/headers.go rename to internal/sdk/internal/utils/headers.go diff --git a/internal/sdk/pkg/utils/json.go b/internal/sdk/internal/utils/json.go similarity index 99% rename from internal/sdk/pkg/utils/json.go rename to internal/sdk/internal/utils/json.go index e744801..1b144eb 100644 --- a/internal/sdk/pkg/utils/json.go +++ b/internal/sdk/internal/utils/json.go @@ -12,7 +12,7 @@ import ( "time" "unsafe" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/types" "github.com/ericlagergren/decimal" ) diff --git a/internal/sdk/pkg/utils/pathparams.go b/internal/sdk/internal/utils/pathparams.go similarity index 99% rename from internal/sdk/pkg/utils/pathparams.go rename to internal/sdk/internal/utils/pathparams.go index 9501852..19e94df 100644 --- a/internal/sdk/pkg/utils/pathparams.go +++ b/internal/sdk/internal/utils/pathparams.go @@ -13,7 +13,7 @@ import ( "github.com/ericlagergren/decimal" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/types" ) func GenerateURL(ctx context.Context, serverURL, path string, pathParams interface{}, globals map[string]map[string]map[string]interface{}) (string, error) { diff --git a/internal/sdk/pkg/utils/queryparams.go b/internal/sdk/internal/utils/queryparams.go similarity index 100% rename from internal/sdk/pkg/utils/queryparams.go rename to internal/sdk/internal/utils/queryparams.go diff --git a/internal/sdk/pkg/utils/requestbody.go b/internal/sdk/internal/utils/requestbody.go similarity index 94% rename from internal/sdk/pkg/utils/requestbody.go rename to internal/sdk/internal/utils/requestbody.go index 950f39a..322b8b3 100644 --- a/internal/sdk/pkg/utils/requestbody.go +++ b/internal/sdk/internal/utils/requestbody.go @@ -26,6 +26,19 @@ var ( ) func SerializeRequestBody(ctx context.Context, request interface{}, nullable, optional bool, requestFieldName, serializationMethod, tag string) (io.Reader, string, error) { + bodyReader, contentType, err := serializeRequestBody(ctx, request, nullable, optional, requestFieldName, serializationMethod, tag) + if err != nil { + return nil, "", fmt.Errorf("error serializing request body: %w", err) + } + + if bodyReader == nil && !optional { + return nil, "", fmt.Errorf("request body is required") + } + + return bodyReader, contentType, nil +} + +func serializeRequestBody(ctx context.Context, request interface{}, nullable, optional bool, requestFieldName, serializationMethod, tag string) (io.Reader, string, error) { requestStructType := reflect.TypeOf(request) requestValType := reflect.ValueOf(request) diff --git a/internal/sdk/pkg/utils/retries.go b/internal/sdk/internal/utils/retries.go similarity index 100% rename from internal/sdk/pkg/utils/retries.go rename to internal/sdk/internal/utils/retries.go diff --git a/internal/sdk/pkg/utils/security.go b/internal/sdk/internal/utils/security.go similarity index 63% rename from internal/sdk/pkg/utils/security.go rename to internal/sdk/internal/utils/security.go index ea1d4b2..8023225 100644 --- a/internal/sdk/pkg/utils/security.go +++ b/internal/sdk/internal/utils/security.go @@ -11,10 +11,6 @@ import ( "strings" ) -type HTTPClient interface { - Do(req *http.Request) (*http.Response, error) -} - const ( securityTagKey = "security" ) @@ -27,73 +23,24 @@ type securityTag struct { SubType string } -type securityConfig struct { - headers map[string]string - queryParams map[string]string -} - -type SecurityClient struct { - HTTPClient - security func(ctx context.Context) (interface{}, error) -} - -func newSecurityClient(client HTTPClient, security func(ctx context.Context) (interface{}, error)) *SecurityClient { - return &SecurityClient{ - HTTPClient: client, - security: security, +func PopulateSecurity(ctx context.Context, req *http.Request, securitySource func(context.Context) (interface{}, error)) error { + if securitySource == nil { + return nil } -} -func (c *SecurityClient) Do(req *http.Request) (*http.Response, error) { - securityCtx, err := c.security(req.Context()) + security, err := securitySource(ctx) if err != nil { - return nil, err - } - - ctx := securityConfig{ - headers: make(map[string]string), - queryParams: make(map[string]string), - } - parseSecurityStruct(&ctx, securityCtx) - - for k, v := range ctx.headers { - req.Header.Set(k, v) - } - - queryParams := req.URL.Query() - - for k, v := range ctx.queryParams { - queryParams.Add(k, v) + return err } - req.URL.RawQuery = queryParams.Encode() - - return c.HTTPClient.Do(req) -} - -func ConfigureSecurityClient(c HTTPClient, security func(ctx context.Context) (interface{}, error)) *SecurityClient { - return newSecurityClient(c, security) -} - -func trueReflectValue(val reflect.Value) reflect.Value { - kind := val.Type().Kind() - for kind == reflect.Interface || kind == reflect.Ptr { - innerVal := val.Elem() - if !innerVal.IsValid() { - break - } - val = innerVal - kind = val.Type().Kind() - } - return val -} + headers := make(map[string]string) + queryParams := make(map[string]string) -func parseSecurityStruct(c *securityConfig, security interface{}) { securityValType := trueReflectValue(reflect.ValueOf(security)) securityStructType := securityValType.Type() if isNil(securityStructType, securityValType) { - return + return nil } if securityStructType.Kind() == reflect.Ptr { @@ -118,25 +65,37 @@ func parseSecurityStruct(c *securityConfig, security interface{}) { secTag := parseSecurityTag(fieldType) if secTag != nil { if secTag.Option { - handleSecurityOption(c, valType.Interface()) + handleSecurityOption(headers, queryParams, valType.Interface()) } else if secTag.Scheme { // Special case for basic auth which could be a flattened struct if secTag.SubType == "basic" && kind != reflect.Struct { - parseSecurityScheme(c, secTag, security) + parseSecurityScheme(headers, queryParams, secTag, security) } else { - parseSecurityScheme(c, secTag, valType.Interface()) + parseSecurityScheme(headers, queryParams, secTag, valType.Interface()) } } } } + + for key, value := range headers { + req.Header.Add(key, value) + } + + query := req.URL.Query() + for key, value := range queryParams { + query.Add(key, value) + } + req.URL.RawQuery = query.Encode() + + return nil } -func handleSecurityOption(c *securityConfig, option interface{}) error { +func handleSecurityOption(headers, queryParams map[string]string, option interface{}) { optionValType := trueReflectValue(reflect.ValueOf(option)) optionStructType := optionValType.Type() if isNil(optionStructType, optionValType) { - return nil + return } for i := 0; i < optionStructType.NumField(); i++ { @@ -145,14 +104,12 @@ func handleSecurityOption(c *securityConfig, option interface{}) error { secTag := parseSecurityTag(fieldType) if secTag != nil && secTag.Scheme { - parseSecurityScheme(c, secTag, valType.Interface()) + parseSecurityScheme(headers, queryParams, secTag, valType.Interface()) } } - - return nil } -func parseSecurityScheme(client *securityConfig, schemeTag *securityTag, scheme interface{}) { +func parseSecurityScheme(headers, queryParams map[string]string, schemeTag *securityTag, scheme interface{}) { schemeVal := trueReflectValue(reflect.ValueOf(scheme)) schemeType := schemeVal.Type() @@ -162,7 +119,7 @@ func parseSecurityScheme(client *securityConfig, schemeTag *securityTag, scheme if schemeType.Kind() == reflect.Struct { if schemeTag.Type == "http" && schemeTag.SubType == "basic" { - handleBasicAuthScheme(client, schemeVal.Interface()) + handleBasicAuthScheme(headers, schemeVal.Interface()) return } @@ -183,34 +140,36 @@ func parseSecurityScheme(client *securityConfig, schemeTag *securityTag, scheme return } - parseSecuritySchemeValue(client, schemeTag, secTag, valType.Interface()) + parseSecuritySchemeValue(headers, queryParams, schemeTag, secTag, valType.Interface()) } } else { - parseSecuritySchemeValue(client, schemeTag, schemeTag, schemeVal.Interface()) + parseSecuritySchemeValue(headers, queryParams, schemeTag, schemeTag, schemeVal.Interface()) } } -func parseSecuritySchemeValue(client *securityConfig, schemeTag *securityTag, secTag *securityTag, val interface{}) { +func parseSecuritySchemeValue(headers, queryParams map[string]string, schemeTag *securityTag, secTag *securityTag, val interface{}) { switch schemeTag.Type { case "apiKey": switch schemeTag.SubType { case "header": - client.headers[secTag.Name] = valToString(val) + headers[secTag.Name] = valToString(val) case "query": - client.queryParams[secTag.Name] = valToString(val) + queryParams[secTag.Name] = valToString(val) case "cookie": - client.headers["Cookie"] = fmt.Sprintf("%s=%s", secTag.Name, valToString(val)) + headers["Cookie"] = fmt.Sprintf("%s=%s", secTag.Name, valToString(val)) default: panic("not supported") } case "openIdConnect": - client.headers[secTag.Name] = prefixBearer(valToString(val)) + headers[secTag.Name] = prefixBearer(valToString(val)) case "oauth2": - client.headers[secTag.Name] = prefixBearer(valToString(val)) + if schemeTag.SubType != "client_credentials" { + headers[secTag.Name] = prefixBearer(valToString(val)) + } case "http": switch schemeTag.SubType { case "bearer": - client.headers[secTag.Name] = prefixBearer(valToString(val)) + headers[secTag.Name] = prefixBearer(valToString(val)) default: panic("not supported") } @@ -227,7 +186,7 @@ func prefixBearer(authHeaderValue string) string { return fmt.Sprintf("Bearer %s", authHeaderValue) } -func handleBasicAuthScheme(client *securityConfig, scheme interface{}) { +func handleBasicAuthScheme(headers map[string]string, scheme interface{}) { schemeStructType := reflect.TypeOf(scheme) schemeValType := reflect.ValueOf(scheme) @@ -250,7 +209,7 @@ func handleBasicAuthScheme(client *securityConfig, scheme interface{}) { } } - client.headers["Authorization"] = fmt.Sprintf("Basic %s", base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("%s:%s", username, password)))) + headers["Authorization"] = fmt.Sprintf("Basic %s", base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("%s:%s", username, password)))) } func parseSecurityTag(field reflect.StructField) *securityTag { @@ -296,3 +255,16 @@ func parseSecurityTag(field reflect.StructField) *securityTag { SubType: securitySubType, } } + +func trueReflectValue(val reflect.Value) reflect.Value { + kind := val.Type().Kind() + for kind == reflect.Interface || kind == reflect.Ptr { + innerVal := val.Elem() + if !innerVal.IsValid() { + break + } + val = innerVal + kind = val.Type().Kind() + } + return val +} diff --git a/internal/sdk/pkg/utils/utils.go b/internal/sdk/internal/utils/utils.go similarity index 83% rename from internal/sdk/pkg/utils/utils.go rename to internal/sdk/internal/utils/utils.go index 8c8161a..5508c5f 100644 --- a/internal/sdk/pkg/utils/utils.go +++ b/internal/sdk/internal/utils/utils.go @@ -8,6 +8,7 @@ import ( "math/big" "reflect" "regexp" + "strconv" "strings" "time" @@ -63,6 +64,29 @@ func Contains(slice []string, item string) bool { return false } +func MatchStatusCodes(expectedCodes []string, statusCode int) bool { + for _, codeStr := range expectedCodes { + code, err := strconv.Atoi(codeStr) + if err == nil { + if code == statusCode { + return true + } + continue + } + + codeRange, err := strconv.Atoi(string(codeStr[0])) + if err != nil { + continue + } + + if statusCode >= (codeRange*100) && statusCode < ((codeRange+1)*100) { + return true + } + } + + return false +} + func parseStructTag(tagKey string, field reflect.StructField) map[string]string { tag := field.Tag.Get(tagKey) if tag == "" { @@ -154,6 +178,14 @@ func populateFromGlobals(fieldType reflect.StructField, valType reflect.Value, p } func isNil(typ reflect.Type, val reflect.Value) bool { + // `reflect.TypeOf(nil) == nil` so calling typ.Kind() will cause a nil pointer + // dereference panic. Catch it and return early. + // https://github.com/golang/go/issues/51649 + // https://github.com/golang/go/issues/54208 + if typ == nil { + return true + } + if typ.Kind() == reflect.Ptr || typ.Kind() == reflect.Map || typ.Kind() == reflect.Slice || typ.Kind() == reflect.Interface { return val.IsNil() } diff --git a/internal/sdk/pkg/models/sdkerrors/sdkerror.go b/internal/sdk/models/errors/sdkerror.go similarity index 97% rename from internal/sdk/pkg/models/sdkerrors/sdkerror.go rename to internal/sdk/models/errors/sdkerror.go index 5c1affd..c5a89b6 100644 --- a/internal/sdk/pkg/models/sdkerrors/sdkerror.go +++ b/internal/sdk/models/errors/sdkerror.go @@ -1,6 +1,6 @@ // Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. -package sdkerrors +package errors import ( "fmt" diff --git a/internal/sdk/pkg/models/operations/getinfrastructurepublishersalertsconfiguration.go b/internal/sdk/models/operations/configurenpapublisheralerts.go similarity index 58% rename from internal/sdk/pkg/models/operations/getinfrastructurepublishersalertsconfiguration.go rename to internal/sdk/models/operations/configurenpapublisheralerts.go index 31ffd38..95c2d95 100644 --- a/internal/sdk/pkg/models/operations/getinfrastructurepublishersalertsconfiguration.go +++ b/internal/sdk/models/operations/configurenpapublisheralerts.go @@ -3,11 +3,11 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetInfrastructurePublishersAlertsconfigurationResponse struct { +type ConfigureNPAPublisherAlertsResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -20,35 +20,35 @@ type GetInfrastructurePublishersAlertsconfigurationResponse struct { PublishersResponse400 *shared.PublishersResponse400 } -func (o *GetInfrastructurePublishersAlertsconfigurationResponse) GetContentType() string { +func (o *ConfigureNPAPublisherAlertsResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetInfrastructurePublishersAlertsconfigurationResponse) GetStatusCode() int { +func (o *ConfigureNPAPublisherAlertsResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetInfrastructurePublishersAlertsconfigurationResponse) GetRawResponse() *http.Response { +func (o *ConfigureNPAPublisherAlertsResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetInfrastructurePublishersAlertsconfigurationResponse) GetPublishersAlertGetResponse() *shared.PublishersAlertGetResponse { +func (o *ConfigureNPAPublisherAlertsResponse) GetPublishersAlertGetResponse() *shared.PublishersAlertGetResponse { if o == nil { return nil } return o.PublishersAlertGetResponse } -func (o *GetInfrastructurePublishersAlertsconfigurationResponse) GetPublishersResponse400() *shared.PublishersResponse400 { +func (o *ConfigureNPAPublisherAlertsResponse) GetPublishersResponse400() *shared.PublishersResponse400 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/poststeeringgretunnels.go b/internal/sdk/models/operations/creategretunnels.go similarity index 61% rename from internal/sdk/pkg/models/operations/poststeeringgretunnels.go rename to internal/sdk/models/operations/creategretunnels.go index 2a7e735..a63f2c1 100644 --- a/internal/sdk/pkg/models/operations/poststeeringgretunnels.go +++ b/internal/sdk/models/operations/creategretunnels.go @@ -3,11 +3,11 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type PostSteeringGreTunnelsResponse struct { +type CreateGreTunnelsResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -30,70 +30,70 @@ type PostSteeringGreTunnelsResponse struct { GreResponse500 *shared.GreResponse500 } -func (o *PostSteeringGreTunnelsResponse) GetContentType() string { +func (o *CreateGreTunnelsResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *PostSteeringGreTunnelsResponse) GetStatusCode() int { +func (o *CreateGreTunnelsResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *PostSteeringGreTunnelsResponse) GetRawResponse() *http.Response { +func (o *CreateGreTunnelsResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *PostSteeringGreTunnelsResponse) GetGreResponse201() *shared.GreResponse201 { +func (o *CreateGreTunnelsResponse) GetGreResponse201() *shared.GreResponse201 { if o == nil { return nil } return o.GreResponse201 } -func (o *PostSteeringGreTunnelsResponse) GetGreResponse400() *shared.GreResponse400 { +func (o *CreateGreTunnelsResponse) GetGreResponse400() *shared.GreResponse400 { if o == nil { return nil } return o.GreResponse400 } -func (o *PostSteeringGreTunnelsResponse) GetGreResponse403() *shared.GreResponse403 { +func (o *CreateGreTunnelsResponse) GetGreResponse403() *shared.GreResponse403 { if o == nil { return nil } return o.GreResponse403 } -func (o *PostSteeringGreTunnelsResponse) GetGreResponse405() *shared.GreResponse405 { +func (o *CreateGreTunnelsResponse) GetGreResponse405() *shared.GreResponse405 { if o == nil { return nil } return o.GreResponse405 } -func (o *PostSteeringGreTunnelsResponse) GetGreResponse409() *shared.GreResponse409 { +func (o *CreateGreTunnelsResponse) GetGreResponse409() *shared.GreResponse409 { if o == nil { return nil } return o.GreResponse409 } -func (o *PostSteeringGreTunnelsResponse) GetGreResponse429() *shared.GreResponse429 { +func (o *CreateGreTunnelsResponse) GetGreResponse429() *shared.GreResponse429 { if o == nil { return nil } return o.GreResponse429 } -func (o *PostSteeringGreTunnelsResponse) GetGreResponse500() *shared.GreResponse500 { +func (o *CreateGreTunnelsResponse) GetGreResponse500() *shared.GreResponse500 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/poststeeringipsectunnels.go b/internal/sdk/models/operations/createipsectunnels.go similarity index 61% rename from internal/sdk/pkg/models/operations/poststeeringipsectunnels.go rename to internal/sdk/models/operations/createipsectunnels.go index e8893c2..f4e4a7d 100644 --- a/internal/sdk/pkg/models/operations/poststeeringipsectunnels.go +++ b/internal/sdk/models/operations/createipsectunnels.go @@ -3,11 +3,11 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type PostSteeringIpsecTunnelsResponse struct { +type CreateIpsecTunnelsResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -30,70 +30,70 @@ type PostSteeringIpsecTunnelsResponse struct { IpsecResponse500 *shared.IpsecResponse500 } -func (o *PostSteeringIpsecTunnelsResponse) GetContentType() string { +func (o *CreateIpsecTunnelsResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *PostSteeringIpsecTunnelsResponse) GetStatusCode() int { +func (o *CreateIpsecTunnelsResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *PostSteeringIpsecTunnelsResponse) GetRawResponse() *http.Response { +func (o *CreateIpsecTunnelsResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *PostSteeringIpsecTunnelsResponse) GetIpsecResponse201() *shared.IpsecResponse201 { +func (o *CreateIpsecTunnelsResponse) GetIpsecResponse201() *shared.IpsecResponse201 { if o == nil { return nil } return o.IpsecResponse201 } -func (o *PostSteeringIpsecTunnelsResponse) GetIpsecResponse400() *shared.IpsecResponse400 { +func (o *CreateIpsecTunnelsResponse) GetIpsecResponse400() *shared.IpsecResponse400 { if o == nil { return nil } return o.IpsecResponse400 } -func (o *PostSteeringIpsecTunnelsResponse) GetIpsecResponse403() *shared.IpsecResponse403 { +func (o *CreateIpsecTunnelsResponse) GetIpsecResponse403() *shared.IpsecResponse403 { if o == nil { return nil } return o.IpsecResponse403 } -func (o *PostSteeringIpsecTunnelsResponse) GetIpsecResponse405() *shared.IpsecResponse405 { +func (o *CreateIpsecTunnelsResponse) GetIpsecResponse405() *shared.IpsecResponse405 { if o == nil { return nil } return o.IpsecResponse405 } -func (o *PostSteeringIpsecTunnelsResponse) GetIpsecResponse409() *shared.IpsecResponse409 { +func (o *CreateIpsecTunnelsResponse) GetIpsecResponse409() *shared.IpsecResponse409 { if o == nil { return nil } return o.IpsecResponse409 } -func (o *PostSteeringIpsecTunnelsResponse) GetIpsecResponse429() *shared.IpsecResponse429 { +func (o *CreateIpsecTunnelsResponse) GetIpsecResponse429() *shared.IpsecResponse429 { if o == nil { return nil } return o.IpsecResponse429 } -func (o *PostSteeringIpsecTunnelsResponse) GetIpsecResponse500() *shared.IpsecResponse500 { +func (o *CreateIpsecTunnelsResponse) GetIpsecResponse500() *shared.IpsecResponse500 { if o == nil { return nil } diff --git a/internal/sdk/models/operations/createnpaapps.go b/internal/sdk/models/operations/createnpaapps.go new file mode 100644 index 0000000..e957ee9 --- /dev/null +++ b/internal/sdk/models/operations/createnpaapps.go @@ -0,0 +1,106 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" + "net/http" +) + +// CreateNPAAppsQueryParamSilent - flag to skip output except status code +type CreateNPAAppsQueryParamSilent string + +const ( + CreateNPAAppsQueryParamSilentOne CreateNPAAppsQueryParamSilent = "1" + CreateNPAAppsQueryParamSilentZero CreateNPAAppsQueryParamSilent = "0" +) + +func (e CreateNPAAppsQueryParamSilent) ToPointer() *CreateNPAAppsQueryParamSilent { + return &e +} + +func (e *CreateNPAAppsQueryParamSilent) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "1": + fallthrough + case "0": + *e = CreateNPAAppsQueryParamSilent(v) + return nil + default: + return fmt.Errorf("invalid value for CreateNPAAppsQueryParamSilent: %v", v) + } +} + +type CreateNPAAppsRequest struct { + // flag to skip output except status code + Silent *CreateNPAAppsQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + PrivateAppsRequest shared.PrivateAppsRequest `request:"mediaType=application/json"` +} + +func (o *CreateNPAAppsRequest) GetSilent() *CreateNPAAppsQueryParamSilent { + if o == nil { + return nil + } + return o.Silent +} + +func (o *CreateNPAAppsRequest) GetPrivateAppsRequest() shared.PrivateAppsRequest { + if o == nil { + return shared.PrivateAppsRequest{} + } + return o.PrivateAppsRequest +} + +type CreateNPAAppsResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + PrivateAppsResponse *shared.PrivateAppsResponse + // Invalid request + PrivateAppsResponse400 *shared.PrivateAppsResponse400 +} + +func (o *CreateNPAAppsResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *CreateNPAAppsResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *CreateNPAAppsResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *CreateNPAAppsResponse) GetPrivateAppsResponse() *shared.PrivateAppsResponse { + if o == nil { + return nil + } + return o.PrivateAppsResponse +} + +func (o *CreateNPAAppsResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { + if o == nil { + return nil + } + return o.PrivateAppsResponse400 +} diff --git a/internal/sdk/models/operations/createnpapolicygroups.go b/internal/sdk/models/operations/createnpapolicygroups.go new file mode 100644 index 0000000..66e9407 --- /dev/null +++ b/internal/sdk/models/operations/createnpapolicygroups.go @@ -0,0 +1,118 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" + "net/http" +) + +// CreateNPAPolicyGroupsQueryParamSilent - flag to skip output except status code +type CreateNPAPolicyGroupsQueryParamSilent string + +const ( + CreateNPAPolicyGroupsQueryParamSilentOne CreateNPAPolicyGroupsQueryParamSilent = "1" + CreateNPAPolicyGroupsQueryParamSilentZero CreateNPAPolicyGroupsQueryParamSilent = "0" +) + +func (e CreateNPAPolicyGroupsQueryParamSilent) ToPointer() *CreateNPAPolicyGroupsQueryParamSilent { + return &e +} + +func (e *CreateNPAPolicyGroupsQueryParamSilent) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "1": + fallthrough + case "0": + *e = CreateNPAPolicyGroupsQueryParamSilent(v) + return nil + default: + return fmt.Errorf("invalid value for CreateNPAPolicyGroupsQueryParamSilent: %v", v) + } +} + +type CreateNPAPolicyGroupsRequest struct { + // flag to skip output except status code + Silent *CreateNPAPolicyGroupsQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + NpaPolicygroupRequest shared.NpaPolicygroupRequest `request:"mediaType=application/json"` +} + +func (o *CreateNPAPolicyGroupsRequest) GetSilent() *CreateNPAPolicyGroupsQueryParamSilent { + if o == nil { + return nil + } + return o.Silent +} + +func (o *CreateNPAPolicyGroupsRequest) GetNpaPolicygroupRequest() shared.NpaPolicygroupRequest { + if o == nil { + return shared.NpaPolicygroupRequest{} + } + return o.NpaPolicygroupRequest +} + +// CreateNPAPolicyGroupsResponseBody - successful operation +type CreateNPAPolicyGroupsResponseBody struct { + Data *shared.NpaPolicygroupResponseItem `json:"data,omitempty"` +} + +func (o *CreateNPAPolicyGroupsResponseBody) GetData() *shared.NpaPolicygroupResponseItem { + if o == nil { + return nil + } + return o.Data +} + +type CreateNPAPolicyGroupsResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + Object *CreateNPAPolicyGroupsResponseBody + // Invalid request + NpaPolicygroupResponse400 *shared.NpaPolicygroupResponse400 +} + +func (o *CreateNPAPolicyGroupsResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *CreateNPAPolicyGroupsResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *CreateNPAPolicyGroupsResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *CreateNPAPolicyGroupsResponse) GetObject() *CreateNPAPolicyGroupsResponseBody { + if o == nil { + return nil + } + return o.Object +} + +func (o *CreateNPAPolicyGroupsResponse) GetNpaPolicygroupResponse400() *shared.NpaPolicygroupResponse400 { + if o == nil { + return nil + } + return o.NpaPolicygroupResponse400 +} diff --git a/internal/sdk/pkg/models/operations/postpolicynparules.go b/internal/sdk/models/operations/createnpapolicyrules.go similarity index 57% rename from internal/sdk/pkg/models/operations/postpolicynparules.go rename to internal/sdk/models/operations/createnpapolicyrules.go index eef5df7..40de94a 100644 --- a/internal/sdk/pkg/models/operations/postpolicynparules.go +++ b/internal/sdk/models/operations/createnpapolicyrules.go @@ -3,23 +3,23 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -// PostPolicyNpaRulesResponseBody - successful operation -type PostPolicyNpaRulesResponseBody struct { +// CreateNPAPolicyRulesResponseBody - successful operation +type CreateNPAPolicyRulesResponseBody struct { Data *shared.NpaPolicyResponseItem `json:"data,omitempty"` } -func (o *PostPolicyNpaRulesResponseBody) GetData() *shared.NpaPolicyResponseItem { +func (o *CreateNPAPolicyRulesResponseBody) GetData() *shared.NpaPolicyResponseItem { if o == nil { return nil } return o.Data } -type PostPolicyNpaRulesResponse struct { +type CreateNPAPolicyRulesResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -27,40 +27,40 @@ type PostPolicyNpaRulesResponse struct { // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response // successful operation - Object *PostPolicyNpaRulesResponseBody + Object *CreateNPAPolicyRulesResponseBody // Invalid request NpaPolicyResponse400 *shared.NpaPolicyResponse400 } -func (o *PostPolicyNpaRulesResponse) GetContentType() string { +func (o *CreateNPAPolicyRulesResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *PostPolicyNpaRulesResponse) GetStatusCode() int { +func (o *CreateNPAPolicyRulesResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *PostPolicyNpaRulesResponse) GetRawResponse() *http.Response { +func (o *CreateNPAPolicyRulesResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *PostPolicyNpaRulesResponse) GetObject() *PostPolicyNpaRulesResponseBody { +func (o *CreateNPAPolicyRulesResponse) GetObject() *CreateNPAPolicyRulesResponseBody { if o == nil { return nil } return o.Object } -func (o *PostPolicyNpaRulesResponse) GetNpaPolicyResponse400() *shared.NpaPolicyResponse400 { +func (o *CreateNPAPolicyRulesResponse) GetNpaPolicyResponse400() *shared.NpaPolicyResponse400 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/postinfrastructurepublishers.go b/internal/sdk/models/operations/createnpapublishers.go similarity index 70% rename from internal/sdk/pkg/models/operations/postinfrastructurepublishers.go rename to internal/sdk/models/operations/createnpapublishers.go index ae1ccdb..28531e2 100644 --- a/internal/sdk/pkg/models/operations/postinfrastructurepublishers.go +++ b/internal/sdk/models/operations/createnpapublishers.go @@ -5,7 +5,7 @@ package operations import ( "encoding/json" "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) @@ -37,27 +37,27 @@ func (e *Silent) UnmarshalJSON(data []byte) error { } } -type PostInfrastructurePublishersRequest struct { +type CreateNPApublishersRequest struct { // flag to skip output except status code Silent *Silent `queryParam:"style=form,explode=true,name=silent"` PublisherPostRequest shared.PublisherPostRequest `request:"mediaType=application/json"` } -func (o *PostInfrastructurePublishersRequest) GetSilent() *Silent { +func (o *CreateNPApublishersRequest) GetSilent() *Silent { if o == nil { return nil } return o.Silent } -func (o *PostInfrastructurePublishersRequest) GetPublisherPostRequest() shared.PublisherPostRequest { +func (o *CreateNPApublishersRequest) GetPublisherPostRequest() shared.PublisherPostRequest { if o == nil { return shared.PublisherPostRequest{} } return o.PublisherPostRequest } -type PostInfrastructurePublishersResponse struct { +type CreateNPApublishersResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -70,35 +70,35 @@ type PostInfrastructurePublishersResponse struct { PublishersResponse400 *shared.PublishersResponse400 } -func (o *PostInfrastructurePublishersResponse) GetContentType() string { +func (o *CreateNPApublishersResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *PostInfrastructurePublishersResponse) GetStatusCode() int { +func (o *CreateNPApublishersResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *PostInfrastructurePublishersResponse) GetRawResponse() *http.Response { +func (o *CreateNPApublishersResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *PostInfrastructurePublishersResponse) GetPublisherResponse() *shared.PublisherResponse { +func (o *CreateNPApublishersResponse) GetPublisherResponse() *shared.PublisherResponse { if o == nil { return nil } return o.PublisherResponse } -func (o *PostInfrastructurePublishersResponse) GetPublishersResponse400() *shared.PublishersResponse400 { +func (o *CreateNPApublishersResponse) GetPublishersResponse400() *shared.PublishersResponse400 { if o == nil { return nil } diff --git a/internal/sdk/models/operations/createnpapublisherupradeprofiles.go b/internal/sdk/models/operations/createnpapublisherupradeprofiles.go new file mode 100644 index 0000000..124dd21 --- /dev/null +++ b/internal/sdk/models/operations/createnpapublisherupradeprofiles.go @@ -0,0 +1,106 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" + "net/http" +) + +// CreateNPAPublisherUpradeProfilesQueryParamSilent - flag to skip output except status code +type CreateNPAPublisherUpradeProfilesQueryParamSilent string + +const ( + CreateNPAPublisherUpradeProfilesQueryParamSilentOne CreateNPAPublisherUpradeProfilesQueryParamSilent = "1" + CreateNPAPublisherUpradeProfilesQueryParamSilentZero CreateNPAPublisherUpradeProfilesQueryParamSilent = "0" +) + +func (e CreateNPAPublisherUpradeProfilesQueryParamSilent) ToPointer() *CreateNPAPublisherUpradeProfilesQueryParamSilent { + return &e +} + +func (e *CreateNPAPublisherUpradeProfilesQueryParamSilent) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "1": + fallthrough + case "0": + *e = CreateNPAPublisherUpradeProfilesQueryParamSilent(v) + return nil + default: + return fmt.Errorf("invalid value for CreateNPAPublisherUpradeProfilesQueryParamSilent: %v", v) + } +} + +type CreateNPAPublisherUpradeProfilesRequest struct { + // flag to skip output except status code + Silent *CreateNPAPublisherUpradeProfilesQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + PublisherUpgradeProfilePostRequest *shared.PublisherUpgradeProfilePostRequest `request:"mediaType=application/json"` +} + +func (o *CreateNPAPublisherUpradeProfilesRequest) GetSilent() *CreateNPAPublisherUpradeProfilesQueryParamSilent { + if o == nil { + return nil + } + return o.Silent +} + +func (o *CreateNPAPublisherUpradeProfilesRequest) GetPublisherUpgradeProfilePostRequest() *shared.PublisherUpgradeProfilePostRequest { + if o == nil { + return nil + } + return o.PublisherUpgradeProfilePostRequest +} + +type CreateNPAPublisherUpradeProfilesResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + PublisherUpgradeProfileResponse *shared.PublisherUpgradeProfileResponse + // Invalid request + FourHundred *shared.FourHundred +} + +func (o *CreateNPAPublisherUpradeProfilesResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *CreateNPAPublisherUpradeProfilesResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *CreateNPAPublisherUpradeProfilesResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *CreateNPAPublisherUpradeProfilesResponse) GetPublisherUpgradeProfileResponse() *shared.PublisherUpgradeProfileResponse { + if o == nil { + return nil + } + return o.PublisherUpgradeProfileResponse +} + +func (o *CreateNPAPublisherUpradeProfilesResponse) GetFourHundred() *shared.FourHundred { + if o == nil { + return nil + } + return o.FourHundred +} diff --git a/internal/sdk/pkg/models/operations/getsteeringappsprivatetags.go b/internal/sdk/models/operations/createnpatags.go similarity index 63% rename from internal/sdk/pkg/models/operations/getsteeringappsprivatetags.go rename to internal/sdk/models/operations/createnpatags.go index 9b65137..c8408f6 100644 --- a/internal/sdk/pkg/models/operations/getsteeringappsprivatetags.go +++ b/internal/sdk/models/operations/createnpatags.go @@ -3,11 +3,11 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetSteeringAppsPrivateTagsResponse struct { +type CreateNPATagsResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -20,35 +20,35 @@ type GetSteeringAppsPrivateTagsResponse struct { TagResponse400 *shared.TagResponse400 } -func (o *GetSteeringAppsPrivateTagsResponse) GetContentType() string { +func (o *CreateNPATagsResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetSteeringAppsPrivateTagsResponse) GetStatusCode() int { +func (o *CreateNPATagsResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetSteeringAppsPrivateTagsResponse) GetRawResponse() *http.Response { +func (o *CreateNPATagsResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetSteeringAppsPrivateTagsResponse) GetTagResponse() *shared.TagResponse { +func (o *CreateNPATagsResponse) GetTagResponse() *shared.TagResponse { if o == nil { return nil } return o.TagResponse } -func (o *GetSteeringAppsPrivateTagsResponse) GetTagResponse400() *shared.TagResponse400 { +func (o *CreateNPATagsResponse) GetTagResponse400() *shared.TagResponse400 { if o == nil { return nil } diff --git a/internal/sdk/models/operations/createscimgroups.go b/internal/sdk/models/operations/createscimgroups.go new file mode 100644 index 0000000..c6c22cf --- /dev/null +++ b/internal/sdk/models/operations/createscimgroups.go @@ -0,0 +1,434 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "net/http" +) + +type CreateSCIMGroupsSchemas string + +const ( + CreateSCIMGroupsSchemasUrnIetfParamsScimSchemasCore20Group CreateSCIMGroupsSchemas = "urn:ietf:params:scim:schemas:core:2.0:Group" +) + +func (e CreateSCIMGroupsSchemas) ToPointer() *CreateSCIMGroupsSchemas { + return &e +} + +func (e *CreateSCIMGroupsSchemas) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "urn:ietf:params:scim:schemas:core:2.0:Group": + *e = CreateSCIMGroupsSchemas(v) + return nil + default: + return fmt.Errorf("invalid value for CreateSCIMGroupsSchemas: %v", v) + } +} + +type Members struct { + Value *string `json:"value,omitempty"` +} + +func (o *Members) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +// CreateSCIMGroupsMeta - meta information +type CreateSCIMGroupsMeta struct { + // resource type User/Group. + ResourceType *string `json:"resourceType,omitempty"` +} + +func (o *CreateSCIMGroupsMeta) GetResourceType() *string { + if o == nil { + return nil + } + return o.ResourceType +} + +// CreateSCIMGroupsRequestBody - Group object +type CreateSCIMGroupsRequestBody struct { + // schema of the resource + Schemas []CreateSCIMGroupsSchemas `json:"schemas,omitempty"` + // Display name for group. + DisplayName *string `json:"displayName,omitempty"` + Members []Members `json:"members,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` + // meta information + Meta *CreateSCIMGroupsMeta `json:"meta,omitempty"` +} + +func (o *CreateSCIMGroupsRequestBody) GetSchemas() []CreateSCIMGroupsSchemas { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *CreateSCIMGroupsRequestBody) GetDisplayName() *string { + if o == nil { + return nil + } + return o.DisplayName +} + +func (o *CreateSCIMGroupsRequestBody) GetMembers() []Members { + if o == nil { + return nil + } + return o.Members +} + +func (o *CreateSCIMGroupsRequestBody) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +func (o *CreateSCIMGroupsRequestBody) GetMeta() *CreateSCIMGroupsMeta { + if o == nil { + return nil + } + return o.Meta +} + +type CreateSCIMGroupsSCIMGroupsResponseStatus string + +const ( + CreateSCIMGroupsSCIMGroupsResponseStatusFailed CreateSCIMGroupsSCIMGroupsResponseStatus = "failed" + CreateSCIMGroupsSCIMGroupsResponseStatusFiveHundredAndOne CreateSCIMGroupsSCIMGroupsResponseStatus = "501" +) + +func (e CreateSCIMGroupsSCIMGroupsResponseStatus) ToPointer() *CreateSCIMGroupsSCIMGroupsResponseStatus { + return &e +} + +func (e *CreateSCIMGroupsSCIMGroupsResponseStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "failed": + fallthrough + case "501": + *e = CreateSCIMGroupsSCIMGroupsResponseStatus(v) + return nil + default: + return fmt.Errorf("invalid value for CreateSCIMGroupsSCIMGroupsResponseStatus: %v", v) + } +} + +// CreateSCIMGroupsSCIMGroupsResponse501ResponseBody - Internal error Failed +type CreateSCIMGroupsSCIMGroupsResponse501ResponseBody struct { + Status *CreateSCIMGroupsSCIMGroupsResponseStatus `json:"status,omitempty"` + Schemas *string `json:"schemas,omitempty"` + Detail *string `json:"detail,omitempty"` +} + +func (o *CreateSCIMGroupsSCIMGroupsResponse501ResponseBody) GetStatus() *CreateSCIMGroupsSCIMGroupsResponseStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *CreateSCIMGroupsSCIMGroupsResponse501ResponseBody) GetSchemas() *string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *CreateSCIMGroupsSCIMGroupsResponse501ResponseBody) GetDetail() *string { + if o == nil { + return nil + } + return o.Detail +} + +// CreateSCIMGroupsSCIMGroupsResponseResponseBody - Not authorized to execte the specific API. +type CreateSCIMGroupsSCIMGroupsResponseResponseBody struct { + Message *string `json:"message,omitempty"` +} + +func (o *CreateSCIMGroupsSCIMGroupsResponseResponseBody) GetMessage() *string { + if o == nil { + return nil + } + return o.Message +} + +type CreateSCIMGroupsSCIMGroupsStatus string + +const ( + CreateSCIMGroupsSCIMGroupsStatusFourHundred CreateSCIMGroupsSCIMGroupsStatus = "400" + CreateSCIMGroupsSCIMGroupsStatusFailed CreateSCIMGroupsSCIMGroupsStatus = "failed" +) + +func (e CreateSCIMGroupsSCIMGroupsStatus) ToPointer() *CreateSCIMGroupsSCIMGroupsStatus { + return &e +} + +func (e *CreateSCIMGroupsSCIMGroupsStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "400": + fallthrough + case "failed": + *e = CreateSCIMGroupsSCIMGroupsStatus(v) + return nil + default: + return fmt.Errorf("invalid value for CreateSCIMGroupsSCIMGroupsStatus: %v", v) + } +} + +// CreateSCIMGroupsSCIMGroupsResponseBody - Failed +type CreateSCIMGroupsSCIMGroupsResponseBody struct { + Status *CreateSCIMGroupsSCIMGroupsStatus `json:"status,omitempty"` + Description *string `json:"description,omitempty"` + // schema of the resource + Schemas []string `json:"schemas,omitempty"` +} + +func (o *CreateSCIMGroupsSCIMGroupsResponseBody) GetStatus() *CreateSCIMGroupsSCIMGroupsStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *CreateSCIMGroupsSCIMGroupsResponseBody) GetDescription() *string { + if o == nil { + return nil + } + return o.Description +} + +func (o *CreateSCIMGroupsSCIMGroupsResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +type CreateSCIMGroupsSCIMGroupsSchemas string + +const ( + CreateSCIMGroupsSCIMGroupsSchemasUrnIetfParamsScimSchemasCore20Group CreateSCIMGroupsSCIMGroupsSchemas = "urn:ietf:params:scim:schemas:core:2.0:Group" +) + +func (e CreateSCIMGroupsSCIMGroupsSchemas) ToPointer() *CreateSCIMGroupsSCIMGroupsSchemas { + return &e +} + +func (e *CreateSCIMGroupsSCIMGroupsSchemas) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "urn:ietf:params:scim:schemas:core:2.0:Group": + *e = CreateSCIMGroupsSCIMGroupsSchemas(v) + return nil + default: + return fmt.Errorf("invalid value for CreateSCIMGroupsSCIMGroupsSchemas: %v", v) + } +} + +type CreateSCIMGroupsMembers struct { + Value *string `json:"value,omitempty"` +} + +func (o *CreateSCIMGroupsMembers) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +// CreateSCIMGroupsSCIMGroupsMeta - meta information +type CreateSCIMGroupsSCIMGroupsMeta struct { + // resource type Group. + ResourceType *string `json:"resourceType,omitempty"` +} + +func (o *CreateSCIMGroupsSCIMGroupsMeta) GetResourceType() *string { + if o == nil { + return nil + } + return o.ResourceType +} + +type CreateSCIMGroupsStatus int64 + +const ( + CreateSCIMGroupsStatusTwoHundredAndOne CreateSCIMGroupsStatus = 201 + CreateSCIMGroupsStatusTwoHundred CreateSCIMGroupsStatus = 200 +) + +func (e CreateSCIMGroupsStatus) ToPointer() *CreateSCIMGroupsStatus { + return &e +} + +func (e *CreateSCIMGroupsStatus) UnmarshalJSON(data []byte) error { + var v int64 + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case 201: + fallthrough + case 200: + *e = CreateSCIMGroupsStatus(v) + return nil + default: + return fmt.Errorf("invalid value for CreateSCIMGroupsStatus: %v", v) + } +} + +// CreateSCIMGroupsResponseBody - Successfully added the User. +type CreateSCIMGroupsResponseBody struct { + // SCIM Group ID + ID *string `json:"id,omitempty"` + // schema of the resource + Schemas []CreateSCIMGroupsSCIMGroupsSchemas `json:"schemas,omitempty"` + // Display name for group. + DisplayName *string `json:"displayName,omitempty"` + Members []CreateSCIMGroupsMembers `json:"members,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` + // meta information + Meta *CreateSCIMGroupsSCIMGroupsMeta `json:"meta,omitempty"` + Status *CreateSCIMGroupsStatus `json:"status,omitempty"` +} + +func (o *CreateSCIMGroupsResponseBody) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *CreateSCIMGroupsResponseBody) GetSchemas() []CreateSCIMGroupsSCIMGroupsSchemas { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *CreateSCIMGroupsResponseBody) GetDisplayName() *string { + if o == nil { + return nil + } + return o.DisplayName +} + +func (o *CreateSCIMGroupsResponseBody) GetMembers() []CreateSCIMGroupsMembers { + if o == nil { + return nil + } + return o.Members +} + +func (o *CreateSCIMGroupsResponseBody) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +func (o *CreateSCIMGroupsResponseBody) GetMeta() *CreateSCIMGroupsSCIMGroupsMeta { + if o == nil { + return nil + } + return o.Meta +} + +func (o *CreateSCIMGroupsResponseBody) GetStatus() *CreateSCIMGroupsStatus { + if o == nil { + return nil + } + return o.Status +} + +type CreateSCIMGroupsResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successfully added the User. + TwoHundredAndOneApplicationJSONObject *CreateSCIMGroupsResponseBody + // Failed + FourHundredApplicationJSONObject *CreateSCIMGroupsSCIMGroupsResponseBody + // Not authorized to execte the specific API. + FourHundredAndThreeApplicationJSONObject *CreateSCIMGroupsSCIMGroupsResponseResponseBody + // Internal error Failed + FiveHundredAndOneApplicationJSONObject *CreateSCIMGroupsSCIMGroupsResponse501ResponseBody +} + +func (o *CreateSCIMGroupsResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *CreateSCIMGroupsResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *CreateSCIMGroupsResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *CreateSCIMGroupsResponse) GetTwoHundredAndOneApplicationJSONObject() *CreateSCIMGroupsResponseBody { + if o == nil { + return nil + } + return o.TwoHundredAndOneApplicationJSONObject +} + +func (o *CreateSCIMGroupsResponse) GetFourHundredApplicationJSONObject() *CreateSCIMGroupsSCIMGroupsResponseBody { + if o == nil { + return nil + } + return o.FourHundredApplicationJSONObject +} + +func (o *CreateSCIMGroupsResponse) GetFourHundredAndThreeApplicationJSONObject() *CreateSCIMGroupsSCIMGroupsResponseResponseBody { + if o == nil { + return nil + } + return o.FourHundredAndThreeApplicationJSONObject +} + +func (o *CreateSCIMGroupsResponse) GetFiveHundredAndOneApplicationJSONObject() *CreateSCIMGroupsSCIMGroupsResponse501ResponseBody { + if o == nil { + return nil + } + return o.FiveHundredAndOneApplicationJSONObject +} diff --git a/internal/sdk/models/operations/createscimusers.go b/internal/sdk/models/operations/createscimusers.go new file mode 100644 index 0000000..a9e0455 --- /dev/null +++ b/internal/sdk/models/operations/createscimusers.go @@ -0,0 +1,484 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "net/http" +) + +type Schemas string + +const ( + SchemasUrnIetfParamsScimSchemasCore20User Schemas = "urn:ietf:params:scim:schemas:core:2.0:User" +) + +func (e Schemas) ToPointer() *Schemas { + return &e +} + +func (e *Schemas) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "urn:ietf:params:scim:schemas:core:2.0:User": + *e = Schemas(v) + return nil + default: + return fmt.Errorf("invalid value for Schemas: %v", v) + } +} + +// Name - Family_name and given_name for the User +type Name struct { + // last_name of the SCIM User. + FamilyName *string `json:"familyName,omitempty"` + // first_name of the SCIM User. + GivenName *string `json:"givenName,omitempty"` +} + +func (o *Name) GetFamilyName() *string { + if o == nil { + return nil + } + return o.FamilyName +} + +func (o *Name) GetGivenName() *string { + if o == nil { + return nil + } + return o.GivenName +} + +type Emails struct { + // Email ID of the SCIM user + Value *string `json:"value,omitempty"` + Primary *bool `json:"primary,omitempty"` +} + +func (o *Emails) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +func (o *Emails) GetPrimary() *bool { + if o == nil { + return nil + } + return o.Primary +} + +// Meta - meta information +type Meta struct { + // resource type User/Group. + ResourceType *string `json:"resourceType,omitempty"` +} + +func (o *Meta) GetResourceType() *string { + if o == nil { + return nil + } + return o.ResourceType +} + +// CreateSCIMUsersRequestBody - user request body +type CreateSCIMUsersRequestBody struct { + // schema of the resource + Schemas []Schemas `json:"schemas,omitempty"` + // UPN name of the SCIM User + UserName *string `json:"userName,omitempty"` + // Family_name and given_name for the User + Name *Name `json:"name,omitempty"` + Active *bool `json:"active,omitempty"` + Emails []Emails `json:"emails,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` + // meta information + Meta *Meta `json:"meta,omitempty"` +} + +func (o *CreateSCIMUsersRequestBody) GetSchemas() []Schemas { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *CreateSCIMUsersRequestBody) GetUserName() *string { + if o == nil { + return nil + } + return o.UserName +} + +func (o *CreateSCIMUsersRequestBody) GetName() *Name { + if o == nil { + return nil + } + return o.Name +} + +func (o *CreateSCIMUsersRequestBody) GetActive() *bool { + if o == nil { + return nil + } + return o.Active +} + +func (o *CreateSCIMUsersRequestBody) GetEmails() []Emails { + if o == nil { + return nil + } + return o.Emails +} + +func (o *CreateSCIMUsersRequestBody) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +func (o *CreateSCIMUsersRequestBody) GetMeta() *Meta { + if o == nil { + return nil + } + return o.Meta +} + +type CreateSCIMUsersSCIMUsersResponseStatus string + +const ( + CreateSCIMUsersSCIMUsersResponseStatusFailed CreateSCIMUsersSCIMUsersResponseStatus = "failed" + CreateSCIMUsersSCIMUsersResponseStatusFiveHundredAndOne CreateSCIMUsersSCIMUsersResponseStatus = "501" +) + +func (e CreateSCIMUsersSCIMUsersResponseStatus) ToPointer() *CreateSCIMUsersSCIMUsersResponseStatus { + return &e +} + +func (e *CreateSCIMUsersSCIMUsersResponseStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "failed": + fallthrough + case "501": + *e = CreateSCIMUsersSCIMUsersResponseStatus(v) + return nil + default: + return fmt.Errorf("invalid value for CreateSCIMUsersSCIMUsersResponseStatus: %v", v) + } +} + +// CreateSCIMUsersSCIMUsersResponse501ResponseBody - Internal error Failed +type CreateSCIMUsersSCIMUsersResponse501ResponseBody struct { + Status *CreateSCIMUsersSCIMUsersResponseStatus `json:"status,omitempty"` + Schemas *string `json:"schemas,omitempty"` + Detail *string `json:"detail,omitempty"` +} + +func (o *CreateSCIMUsersSCIMUsersResponse501ResponseBody) GetStatus() *CreateSCIMUsersSCIMUsersResponseStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *CreateSCIMUsersSCIMUsersResponse501ResponseBody) GetSchemas() *string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *CreateSCIMUsersSCIMUsersResponse501ResponseBody) GetDetail() *string { + if o == nil { + return nil + } + return o.Detail +} + +// CreateSCIMUsersSCIMUsersResponseResponseBody - Not authorized to execte the specific API. +type CreateSCIMUsersSCIMUsersResponseResponseBody struct { + Message *string `json:"message,omitempty"` +} + +func (o *CreateSCIMUsersSCIMUsersResponseResponseBody) GetMessage() *string { + if o == nil { + return nil + } + return o.Message +} + +type CreateSCIMUsersSCIMUsersStatus string + +const ( + CreateSCIMUsersSCIMUsersStatusFourHundred CreateSCIMUsersSCIMUsersStatus = "400" + CreateSCIMUsersSCIMUsersStatusFailed CreateSCIMUsersSCIMUsersStatus = "failed" +) + +func (e CreateSCIMUsersSCIMUsersStatus) ToPointer() *CreateSCIMUsersSCIMUsersStatus { + return &e +} + +func (e *CreateSCIMUsersSCIMUsersStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "400": + fallthrough + case "failed": + *e = CreateSCIMUsersSCIMUsersStatus(v) + return nil + default: + return fmt.Errorf("invalid value for CreateSCIMUsersSCIMUsersStatus: %v", v) + } +} + +// CreateSCIMUsersSCIMUsersResponseBody - Failed +type CreateSCIMUsersSCIMUsersResponseBody struct { + Status *CreateSCIMUsersSCIMUsersStatus `json:"status,omitempty"` + Description *string `json:"description,omitempty"` + // schema of the resource + Schemas []string `json:"schemas,omitempty"` +} + +func (o *CreateSCIMUsersSCIMUsersResponseBody) GetStatus() *CreateSCIMUsersSCIMUsersStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *CreateSCIMUsersSCIMUsersResponseBody) GetDescription() *string { + if o == nil { + return nil + } + return o.Description +} + +func (o *CreateSCIMUsersSCIMUsersResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +// CreateSCIMUsersName - Family_name and given_name for the User +type CreateSCIMUsersName struct { + // last_name of the SCIM User. + FamilyName *string `json:"familyName,omitempty"` + // first_name of the SCIM User. + GivenName *string `json:"givenName,omitempty"` +} + +func (o *CreateSCIMUsersName) GetFamilyName() *string { + if o == nil { + return nil + } + return o.FamilyName +} + +func (o *CreateSCIMUsersName) GetGivenName() *string { + if o == nil { + return nil + } + return o.GivenName +} + +type CreateSCIMUsersEmails struct { + // Email ID of the SCIM user + Value *string `json:"value,omitempty"` + Primary *bool `json:"primary,omitempty"` +} + +func (o *CreateSCIMUsersEmails) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +func (o *CreateSCIMUsersEmails) GetPrimary() *bool { + if o == nil { + return nil + } + return o.Primary +} + +type CreateSCIMUsersStatus int64 + +const ( + CreateSCIMUsersStatusTwoHundredAndOne CreateSCIMUsersStatus = 201 + CreateSCIMUsersStatusTwoHundred CreateSCIMUsersStatus = 200 +) + +func (e CreateSCIMUsersStatus) ToPointer() *CreateSCIMUsersStatus { + return &e +} + +func (e *CreateSCIMUsersStatus) UnmarshalJSON(data []byte) error { + var v int64 + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case 201: + fallthrough + case 200: + *e = CreateSCIMUsersStatus(v) + return nil + default: + return fmt.Errorf("invalid value for CreateSCIMUsersStatus: %v", v) + } +} + +// CreateSCIMUsersResponseBody - Successfully added the User. +type CreateSCIMUsersResponseBody struct { + // schema of the resource + Schemas []string `json:"schemas,omitempty"` + // SCIM User ID + ID *string `json:"id,omitempty"` + // UPN name of the SCIM User + UserName *string `json:"userName,omitempty"` + // Family_name and given_name for the User + Name *CreateSCIMUsersName `json:"name,omitempty"` + Active *bool `json:"active,omitempty"` + Emails []CreateSCIMUsersEmails `json:"emails,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` + Status *CreateSCIMUsersStatus `json:"status,omitempty"` +} + +func (o *CreateSCIMUsersResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *CreateSCIMUsersResponseBody) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *CreateSCIMUsersResponseBody) GetUserName() *string { + if o == nil { + return nil + } + return o.UserName +} + +func (o *CreateSCIMUsersResponseBody) GetName() *CreateSCIMUsersName { + if o == nil { + return nil + } + return o.Name +} + +func (o *CreateSCIMUsersResponseBody) GetActive() *bool { + if o == nil { + return nil + } + return o.Active +} + +func (o *CreateSCIMUsersResponseBody) GetEmails() []CreateSCIMUsersEmails { + if o == nil { + return nil + } + return o.Emails +} + +func (o *CreateSCIMUsersResponseBody) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +func (o *CreateSCIMUsersResponseBody) GetStatus() *CreateSCIMUsersStatus { + if o == nil { + return nil + } + return o.Status +} + +type CreateSCIMUsersResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successfully added the User. + TwoHundredAndOneApplicationJSONObject *CreateSCIMUsersResponseBody + // Failed + FourHundredApplicationJSONObject *CreateSCIMUsersSCIMUsersResponseBody + // Not authorized to execte the specific API. + FourHundredAndThreeApplicationJSONObject *CreateSCIMUsersSCIMUsersResponseResponseBody + // Internal error Failed + FiveHundredAndOneApplicationJSONObject *CreateSCIMUsersSCIMUsersResponse501ResponseBody +} + +func (o *CreateSCIMUsersResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *CreateSCIMUsersResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *CreateSCIMUsersResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *CreateSCIMUsersResponse) GetTwoHundredAndOneApplicationJSONObject() *CreateSCIMUsersResponseBody { + if o == nil { + return nil + } + return o.TwoHundredAndOneApplicationJSONObject +} + +func (o *CreateSCIMUsersResponse) GetFourHundredApplicationJSONObject() *CreateSCIMUsersSCIMUsersResponseBody { + if o == nil { + return nil + } + return o.FourHundredApplicationJSONObject +} + +func (o *CreateSCIMUsersResponse) GetFourHundredAndThreeApplicationJSONObject() *CreateSCIMUsersSCIMUsersResponseResponseBody { + if o == nil { + return nil + } + return o.FourHundredAndThreeApplicationJSONObject +} + +func (o *CreateSCIMUsersResponse) GetFiveHundredAndOneApplicationJSONObject() *CreateSCIMUsersSCIMUsersResponse501ResponseBody { + if o == nil { + return nil + } + return o.FiveHundredAndOneApplicationJSONObject +} diff --git a/internal/sdk/pkg/models/operations/deletesteeringgretunnelsid.go b/internal/sdk/models/operations/deletegretunnels.go similarity index 60% rename from internal/sdk/pkg/models/operations/deletesteeringgretunnelsid.go rename to internal/sdk/models/operations/deletegretunnels.go index d1f7175..88aba0e 100644 --- a/internal/sdk/pkg/models/operations/deletesteeringgretunnelsid.go +++ b/internal/sdk/models/operations/deletegretunnels.go @@ -3,23 +3,23 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type DeleteSteeringGreTunnelsIDRequest struct { +type DeleteGreTunnelsRequest struct { // GRE tunnel id ID int64 `pathParam:"style=simple,explode=false,name=id"` } -func (o *DeleteSteeringGreTunnelsIDRequest) GetID() int64 { +func (o *DeleteGreTunnelsRequest) GetID() int64 { if o == nil { return 0 } return o.ID } -type DeleteSteeringGreTunnelsIDResponse struct { +type DeleteGreTunnelsResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -40,63 +40,63 @@ type DeleteSteeringGreTunnelsIDResponse struct { GreResponse500 *shared.GreResponse500 } -func (o *DeleteSteeringGreTunnelsIDResponse) GetContentType() string { +func (o *DeleteGreTunnelsResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *DeleteSteeringGreTunnelsIDResponse) GetStatusCode() int { +func (o *DeleteGreTunnelsResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *DeleteSteeringGreTunnelsIDResponse) GetRawResponse() *http.Response { +func (o *DeleteGreTunnelsResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *DeleteSteeringGreTunnelsIDResponse) GetGreResponse200() *shared.GreResponse200 { +func (o *DeleteGreTunnelsResponse) GetGreResponse200() *shared.GreResponse200 { if o == nil { return nil } return o.GreResponse200 } -func (o *DeleteSteeringGreTunnelsIDResponse) GetGreResponse403() *shared.GreResponse403 { +func (o *DeleteGreTunnelsResponse) GetGreResponse403() *shared.GreResponse403 { if o == nil { return nil } return o.GreResponse403 } -func (o *DeleteSteeringGreTunnelsIDResponse) GetGreResponse404() *shared.GreResponse404 { +func (o *DeleteGreTunnelsResponse) GetGreResponse404() *shared.GreResponse404 { if o == nil { return nil } return o.GreResponse404 } -func (o *DeleteSteeringGreTunnelsIDResponse) GetGreResponse405() *shared.GreResponse405 { +func (o *DeleteGreTunnelsResponse) GetGreResponse405() *shared.GreResponse405 { if o == nil { return nil } return o.GreResponse405 } -func (o *DeleteSteeringGreTunnelsIDResponse) GetGreResponse429() *shared.GreResponse429 { +func (o *DeleteGreTunnelsResponse) GetGreResponse429() *shared.GreResponse429 { if o == nil { return nil } return o.GreResponse429 } -func (o *DeleteSteeringGreTunnelsIDResponse) GetGreResponse500() *shared.GreResponse500 { +func (o *DeleteGreTunnelsResponse) GetGreResponse500() *shared.GreResponse500 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/deletesteeringipsectunnelsid.go b/internal/sdk/models/operations/deleteipsectunnels.go similarity index 59% rename from internal/sdk/pkg/models/operations/deletesteeringipsectunnelsid.go rename to internal/sdk/models/operations/deleteipsectunnels.go index b3b2c73..5b02054 100644 --- a/internal/sdk/pkg/models/operations/deletesteeringipsectunnelsid.go +++ b/internal/sdk/models/operations/deleteipsectunnels.go @@ -3,23 +3,23 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type DeleteSteeringIpsecTunnelsIDRequest struct { +type DeleteIpsecTunnelsRequest struct { // IPSec tunnel id ID int64 `pathParam:"style=simple,explode=false,name=id"` } -func (o *DeleteSteeringIpsecTunnelsIDRequest) GetID() int64 { +func (o *DeleteIpsecTunnelsRequest) GetID() int64 { if o == nil { return 0 } return o.ID } -type DeleteSteeringIpsecTunnelsIDResponse struct { +type DeleteIpsecTunnelsResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -40,63 +40,63 @@ type DeleteSteeringIpsecTunnelsIDResponse struct { IpsecResponse500 *shared.IpsecResponse500 } -func (o *DeleteSteeringIpsecTunnelsIDResponse) GetContentType() string { +func (o *DeleteIpsecTunnelsResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *DeleteSteeringIpsecTunnelsIDResponse) GetStatusCode() int { +func (o *DeleteIpsecTunnelsResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *DeleteSteeringIpsecTunnelsIDResponse) GetRawResponse() *http.Response { +func (o *DeleteIpsecTunnelsResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *DeleteSteeringIpsecTunnelsIDResponse) GetIpsecResponse200() *shared.IpsecResponse200 { +func (o *DeleteIpsecTunnelsResponse) GetIpsecResponse200() *shared.IpsecResponse200 { if o == nil { return nil } return o.IpsecResponse200 } -func (o *DeleteSteeringIpsecTunnelsIDResponse) GetIpsecResponse403() *shared.IpsecResponse403 { +func (o *DeleteIpsecTunnelsResponse) GetIpsecResponse403() *shared.IpsecResponse403 { if o == nil { return nil } return o.IpsecResponse403 } -func (o *DeleteSteeringIpsecTunnelsIDResponse) GetIpsecResponse404() *shared.IpsecResponse404 { +func (o *DeleteIpsecTunnelsResponse) GetIpsecResponse404() *shared.IpsecResponse404 { if o == nil { return nil } return o.IpsecResponse404 } -func (o *DeleteSteeringIpsecTunnelsIDResponse) GetIpsecResponse405() *shared.IpsecResponse405 { +func (o *DeleteIpsecTunnelsResponse) GetIpsecResponse405() *shared.IpsecResponse405 { if o == nil { return nil } return o.IpsecResponse405 } -func (o *DeleteSteeringIpsecTunnelsIDResponse) GetIpsecResponse429() *shared.IpsecResponse429 { +func (o *DeleteIpsecTunnelsResponse) GetIpsecResponse429() *shared.IpsecResponse429 { if o == nil { return nil } return o.IpsecResponse429 } -func (o *DeleteSteeringIpsecTunnelsIDResponse) GetIpsecResponse500() *shared.IpsecResponse500 { +func (o *DeleteIpsecTunnelsResponse) GetIpsecResponse500() *shared.IpsecResponse500 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/deletesteeringappsprivateprivateappid.go b/internal/sdk/models/operations/deletenpaapps.go similarity index 51% rename from internal/sdk/pkg/models/operations/deletesteeringappsprivateprivateappid.go rename to internal/sdk/models/operations/deletenpaapps.go index 46e7dae..539c146 100644 --- a/internal/sdk/pkg/models/operations/deletesteeringappsprivateprivateappid.go +++ b/internal/sdk/models/operations/deletenpaapps.go @@ -3,27 +3,27 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type DeleteSteeringAppsPrivatePrivateAppIDRequest struct { +type DeleteNPAAppsRequest struct { // private apps id PrivateAppID int `pathParam:"style=simple,explode=false,name=private_app_id"` } -func (o *DeleteSteeringAppsPrivatePrivateAppIDRequest) GetPrivateAppID() int { +func (o *DeleteNPAAppsRequest) GetPrivateAppID() int { if o == nil { return 0 } return o.PrivateAppID } -// DeleteSteeringAppsPrivatePrivateAppIDResponseBody - successful operation -type DeleteSteeringAppsPrivatePrivateAppIDResponseBody struct { +// DeleteNPAAppsResponseBody - successful operation +type DeleteNPAAppsResponseBody struct { } -type DeleteSteeringAppsPrivatePrivateAppIDResponse struct { +type DeleteNPAAppsResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -31,40 +31,40 @@ type DeleteSteeringAppsPrivatePrivateAppIDResponse struct { // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response // successful operation - Object *DeleteSteeringAppsPrivatePrivateAppIDResponseBody + Object *DeleteNPAAppsResponseBody // Invalid request PrivateAppsResponse400 *shared.PrivateAppsResponse400 } -func (o *DeleteSteeringAppsPrivatePrivateAppIDResponse) GetContentType() string { +func (o *DeleteNPAAppsResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *DeleteSteeringAppsPrivatePrivateAppIDResponse) GetStatusCode() int { +func (o *DeleteNPAAppsResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *DeleteSteeringAppsPrivatePrivateAppIDResponse) GetRawResponse() *http.Response { +func (o *DeleteNPAAppsResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *DeleteSteeringAppsPrivatePrivateAppIDResponse) GetObject() *DeleteSteeringAppsPrivatePrivateAppIDResponseBody { +func (o *DeleteNPAAppsResponse) GetObject() *DeleteNPAAppsResponseBody { if o == nil { return nil } return o.Object } -func (o *DeleteSteeringAppsPrivatePrivateAppIDResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { +func (o *DeleteNPAAppsResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/deletepolicynpapolicygroupsid.go b/internal/sdk/models/operations/deletenpapolicygroups.go similarity index 62% rename from internal/sdk/pkg/models/operations/deletepolicynpapolicygroupsid.go rename to internal/sdk/models/operations/deletenpapolicygroups.go index 6ea2a1c..fca7fd4 100644 --- a/internal/sdk/pkg/models/operations/deletepolicynpapolicygroupsid.go +++ b/internal/sdk/models/operations/deletenpapolicygroups.go @@ -5,16 +5,16 @@ package operations import ( "encoding/json" "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type DeletePolicyNpaPolicygroupsIDRequest struct { +type DeleteNPAPolicyGroupsRequest struct { // npa policy group id ID string `pathParam:"style=simple,explode=false,name=id"` } -func (o *DeletePolicyNpaPolicygroupsIDRequest) GetID() string { +func (o *DeleteNPAPolicyGroupsRequest) GetID() string { if o == nil { return "" } @@ -48,19 +48,19 @@ func (e *Status) UnmarshalJSON(data []byte) error { } } -// DeletePolicyNpaPolicygroupsIDResponseBody - successful operation -type DeletePolicyNpaPolicygroupsIDResponseBody struct { +// DeleteNPAPolicyGroupsResponseBody - successful operation +type DeleteNPAPolicyGroupsResponseBody struct { Status *Status `json:"status,omitempty"` } -func (o *DeletePolicyNpaPolicygroupsIDResponseBody) GetStatus() *Status { +func (o *DeleteNPAPolicyGroupsResponseBody) GetStatus() *Status { if o == nil { return nil } return o.Status } -type DeletePolicyNpaPolicygroupsIDResponse struct { +type DeleteNPAPolicyGroupsResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -68,40 +68,40 @@ type DeletePolicyNpaPolicygroupsIDResponse struct { // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response // successful operation - Object *DeletePolicyNpaPolicygroupsIDResponseBody + Object *DeleteNPAPolicyGroupsResponseBody // Invalid request NpaPolicygroupResponse400 *shared.NpaPolicygroupResponse400 } -func (o *DeletePolicyNpaPolicygroupsIDResponse) GetContentType() string { +func (o *DeleteNPAPolicyGroupsResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *DeletePolicyNpaPolicygroupsIDResponse) GetStatusCode() int { +func (o *DeleteNPAPolicyGroupsResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *DeletePolicyNpaPolicygroupsIDResponse) GetRawResponse() *http.Response { +func (o *DeleteNPAPolicyGroupsResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *DeletePolicyNpaPolicygroupsIDResponse) GetObject() *DeletePolicyNpaPolicygroupsIDResponseBody { +func (o *DeleteNPAPolicyGroupsResponse) GetObject() *DeleteNPAPolicyGroupsResponseBody { if o == nil { return nil } return o.Object } -func (o *DeletePolicyNpaPolicygroupsIDResponse) GetNpaPolicygroupResponse400() *shared.NpaPolicygroupResponse400 { +func (o *DeleteNPAPolicyGroupsResponse) GetNpaPolicygroupResponse400() *shared.NpaPolicygroupResponse400 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/deletepolicynparulesid.go b/internal/sdk/models/operations/deletenpapolicyrules.go similarity index 56% rename from internal/sdk/pkg/models/operations/deletepolicynparulesid.go rename to internal/sdk/models/operations/deletenpapolicyrules.go index 8afe169..c7b8fab 100644 --- a/internal/sdk/pkg/models/operations/deletepolicynparulesid.go +++ b/internal/sdk/models/operations/deletenpapolicyrules.go @@ -3,35 +3,35 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type DeletePolicyNpaRulesIDRequest struct { +type DeleteNPAPolicyRulesRequest struct { // npa policy id ID string `pathParam:"style=simple,explode=false,name=id"` } -func (o *DeletePolicyNpaRulesIDRequest) GetID() string { +func (o *DeleteNPAPolicyRulesRequest) GetID() string { if o == nil { return "" } return o.ID } -// DeletePolicyNpaRulesIDResponseBody - successful operation -type DeletePolicyNpaRulesIDResponseBody struct { +// DeleteNPAPolicyRulesResponseBody - successful operation +type DeleteNPAPolicyRulesResponseBody struct { Data *shared.NpaPolicyResponseItem `json:"data,omitempty"` } -func (o *DeletePolicyNpaRulesIDResponseBody) GetData() *shared.NpaPolicyResponseItem { +func (o *DeleteNPAPolicyRulesResponseBody) GetData() *shared.NpaPolicyResponseItem { if o == nil { return nil } return o.Data } -type DeletePolicyNpaRulesIDResponse struct { +type DeleteNPAPolicyRulesResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -39,40 +39,40 @@ type DeletePolicyNpaRulesIDResponse struct { // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response // successful operation - Object *DeletePolicyNpaRulesIDResponseBody + Object *DeleteNPAPolicyRulesResponseBody // Invalid request NpaPolicyResponse400 *shared.NpaPolicyResponse400 } -func (o *DeletePolicyNpaRulesIDResponse) GetContentType() string { +func (o *DeleteNPAPolicyRulesResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *DeletePolicyNpaRulesIDResponse) GetStatusCode() int { +func (o *DeleteNPAPolicyRulesResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *DeletePolicyNpaRulesIDResponse) GetRawResponse() *http.Response { +func (o *DeleteNPAPolicyRulesResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *DeletePolicyNpaRulesIDResponse) GetObject() *DeletePolicyNpaRulesIDResponseBody { +func (o *DeleteNPAPolicyRulesResponse) GetObject() *DeleteNPAPolicyRulesResponseBody { if o == nil { return nil } return o.Object } -func (o *DeletePolicyNpaRulesIDResponse) GetNpaPolicyResponse400() *shared.NpaPolicyResponse400 { +func (o *DeleteNPAPolicyRulesResponse) GetNpaPolicyResponse400() *shared.NpaPolicyResponse400 { if o == nil { return nil } diff --git a/internal/sdk/models/operations/deletenpapubliserupgradeprofiles.go b/internal/sdk/models/operations/deletenpapubliserupgradeprofiles.go new file mode 100644 index 0000000..6056658 --- /dev/null +++ b/internal/sdk/models/operations/deletenpapubliserupgradeprofiles.go @@ -0,0 +1,109 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" + "net/http" +) + +type DeleteNPAPubliserUpgradeProfilesRequest struct { + // publisher upgrade profile id + UpgradeProfileID int `pathParam:"style=simple,explode=false,name=upgrade_profile_id"` +} + +func (o *DeleteNPAPubliserUpgradeProfilesRequest) GetUpgradeProfileID() int { + if o == nil { + return 0 + } + return o.UpgradeProfileID +} + +type DeleteNPAPubliserUpgradeProfilesStatus string + +const ( + DeleteNPAPubliserUpgradeProfilesStatusSuccess DeleteNPAPubliserUpgradeProfilesStatus = "success" + DeleteNPAPubliserUpgradeProfilesStatusError DeleteNPAPubliserUpgradeProfilesStatus = "error" +) + +func (e DeleteNPAPubliserUpgradeProfilesStatus) ToPointer() *DeleteNPAPubliserUpgradeProfilesStatus { + return &e +} + +func (e *DeleteNPAPubliserUpgradeProfilesStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "success": + fallthrough + case "error": + *e = DeleteNPAPubliserUpgradeProfilesStatus(v) + return nil + default: + return fmt.Errorf("invalid value for DeleteNPAPubliserUpgradeProfilesStatus: %v", v) + } +} + +// DeleteNPAPubliserUpgradeProfilesResponseBody - successful operation +type DeleteNPAPubliserUpgradeProfilesResponseBody struct { + Status *DeleteNPAPubliserUpgradeProfilesStatus `json:"status,omitempty"` +} + +func (o *DeleteNPAPubliserUpgradeProfilesResponseBody) GetStatus() *DeleteNPAPubliserUpgradeProfilesStatus { + if o == nil { + return nil + } + return o.Status +} + +type DeleteNPAPubliserUpgradeProfilesResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + Object *DeleteNPAPubliserUpgradeProfilesResponseBody + // Invalid request + FourHundred *shared.FourHundred +} + +func (o *DeleteNPAPubliserUpgradeProfilesResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *DeleteNPAPubliserUpgradeProfilesResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *DeleteNPAPubliserUpgradeProfilesResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *DeleteNPAPubliserUpgradeProfilesResponse) GetObject() *DeleteNPAPubliserUpgradeProfilesResponseBody { + if o == nil { + return nil + } + return o.Object +} + +func (o *DeleteNPAPubliserUpgradeProfilesResponse) GetFourHundred() *shared.FourHundred { + if o == nil { + return nil + } + return o.FourHundred +} diff --git a/internal/sdk/models/operations/deletenpapublishers.go b/internal/sdk/models/operations/deletenpapublishers.go new file mode 100644 index 0000000..40d543b --- /dev/null +++ b/internal/sdk/models/operations/deletenpapublishers.go @@ -0,0 +1,109 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" + "net/http" +) + +type DeleteNPAPublishersRequest struct { + // publisher id + PublisherID int `pathParam:"style=simple,explode=false,name=publisher_id"` +} + +func (o *DeleteNPAPublishersRequest) GetPublisherID() int { + if o == nil { + return 0 + } + return o.PublisherID +} + +type DeleteNPAPublishersStatus string + +const ( + DeleteNPAPublishersStatusSuccess DeleteNPAPublishersStatus = "success" + DeleteNPAPublishersStatusError DeleteNPAPublishersStatus = "error" +) + +func (e DeleteNPAPublishersStatus) ToPointer() *DeleteNPAPublishersStatus { + return &e +} + +func (e *DeleteNPAPublishersStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "success": + fallthrough + case "error": + *e = DeleteNPAPublishersStatus(v) + return nil + default: + return fmt.Errorf("invalid value for DeleteNPAPublishersStatus: %v", v) + } +} + +// DeleteNPAPublishersResponseBody - successful operation +type DeleteNPAPublishersResponseBody struct { + Status *DeleteNPAPublishersStatus `json:"status,omitempty"` +} + +func (o *DeleteNPAPublishersResponseBody) GetStatus() *DeleteNPAPublishersStatus { + if o == nil { + return nil + } + return o.Status +} + +type DeleteNPAPublishersResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + Object *DeleteNPAPublishersResponseBody + // Invalid request + PublishersResponse400 *shared.PublishersResponse400 +} + +func (o *DeleteNPAPublishersResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *DeleteNPAPublishersResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *DeleteNPAPublishersResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *DeleteNPAPublishersResponse) GetObject() *DeleteNPAPublishersResponseBody { + if o == nil { + return nil + } + return o.Object +} + +func (o *DeleteNPAPublishersResponse) GetPublishersResponse400() *shared.PublishersResponse400 { + if o == nil { + return nil + } + return o.PublishersResponse400 +} diff --git a/internal/sdk/pkg/models/operations/poststeeringappsprivatetags.go b/internal/sdk/models/operations/deletenpatags.go similarity index 63% rename from internal/sdk/pkg/models/operations/poststeeringappsprivatetags.go rename to internal/sdk/models/operations/deletenpatags.go index ffabd72..a925483 100644 --- a/internal/sdk/pkg/models/operations/poststeeringappsprivatetags.go +++ b/internal/sdk/models/operations/deletenpatags.go @@ -3,11 +3,11 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type PostSteeringAppsPrivateTagsResponse struct { +type DeleteNPATagsResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -20,35 +20,35 @@ type PostSteeringAppsPrivateTagsResponse struct { TagResponse400 *shared.TagResponse400 } -func (o *PostSteeringAppsPrivateTagsResponse) GetContentType() string { +func (o *DeleteNPATagsResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *PostSteeringAppsPrivateTagsResponse) GetStatusCode() int { +func (o *DeleteNPATagsResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *PostSteeringAppsPrivateTagsResponse) GetRawResponse() *http.Response { +func (o *DeleteNPATagsResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *PostSteeringAppsPrivateTagsResponse) GetTagResponse() *shared.TagResponse { +func (o *DeleteNPATagsResponse) GetTagResponse() *shared.TagResponse { if o == nil { return nil } return o.TagResponse } -func (o *PostSteeringAppsPrivateTagsResponse) GetTagResponse400() *shared.TagResponse400 { +func (o *DeleteNPATagsResponse) GetTagResponse400() *shared.TagResponse400 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/deletesteeringappsprivatetagstagid.go b/internal/sdk/models/operations/deletenpatagsbyid.go similarity index 52% rename from internal/sdk/pkg/models/operations/deletesteeringappsprivatetagstagid.go rename to internal/sdk/models/operations/deletenpatagsbyid.go index 9e5cde3..f920e36 100644 --- a/internal/sdk/pkg/models/operations/deletesteeringappsprivatetagstagid.go +++ b/internal/sdk/models/operations/deletenpatagsbyid.go @@ -3,35 +3,35 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type DeleteSteeringAppsPrivateTagsTagIDRequest struct { +type DeleteNPATagsByIDRequest struct { // tag id TagID int `pathParam:"style=simple,explode=false,name=tag_id"` TagRequest shared.TagRequest `request:"mediaType=application/json"` } -func (o *DeleteSteeringAppsPrivateTagsTagIDRequest) GetTagID() int { +func (o *DeleteNPATagsByIDRequest) GetTagID() int { if o == nil { return 0 } return o.TagID } -func (o *DeleteSteeringAppsPrivateTagsTagIDRequest) GetTagRequest() shared.TagRequest { +func (o *DeleteNPATagsByIDRequest) GetTagRequest() shared.TagRequest { if o == nil { return shared.TagRequest{} } return o.TagRequest } -// DeleteSteeringAppsPrivateTagsTagIDResponseBody - successful operation -type DeleteSteeringAppsPrivateTagsTagIDResponseBody struct { +// DeleteNPATagsByIDResponseBody - successful operation +type DeleteNPATagsByIDResponseBody struct { } -type DeleteSteeringAppsPrivateTagsTagIDResponse struct { +type DeleteNPATagsByIDResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -39,40 +39,40 @@ type DeleteSteeringAppsPrivateTagsTagIDResponse struct { // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response // successful operation - Object *DeleteSteeringAppsPrivateTagsTagIDResponseBody + Object *DeleteNPATagsByIDResponseBody // Invalid request TagResponse400 *shared.TagResponse400 } -func (o *DeleteSteeringAppsPrivateTagsTagIDResponse) GetContentType() string { +func (o *DeleteNPATagsByIDResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *DeleteSteeringAppsPrivateTagsTagIDResponse) GetStatusCode() int { +func (o *DeleteNPATagsByIDResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *DeleteSteeringAppsPrivateTagsTagIDResponse) GetRawResponse() *http.Response { +func (o *DeleteNPATagsByIDResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *DeleteSteeringAppsPrivateTagsTagIDResponse) GetObject() *DeleteSteeringAppsPrivateTagsTagIDResponseBody { +func (o *DeleteNPATagsByIDResponse) GetObject() *DeleteNPATagsByIDResponseBody { if o == nil { return nil } return o.Object } -func (o *DeleteSteeringAppsPrivateTagsTagIDResponse) GetTagResponse400() *shared.TagResponse400 { +func (o *DeleteNPATagsByIDResponse) GetTagResponse400() *shared.TagResponse400 { if o == nil { return nil } diff --git a/internal/sdk/models/operations/deletescimusers.go b/internal/sdk/models/operations/deletescimusers.go new file mode 100644 index 0000000..c6e769a --- /dev/null +++ b/internal/sdk/models/operations/deletescimusers.go @@ -0,0 +1,201 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "net/http" +) + +type DeleteSCIMUsersRequest struct { + // SCIM User ID required + ID string `pathParam:"style=simple,explode=false,name=id"` +} + +func (o *DeleteSCIMUsersRequest) GetID() string { + if o == nil { + return "" + } + return o.ID +} + +type DeleteSCIMUsersSCIMUsersStatus string + +const ( + DeleteSCIMUsersSCIMUsersStatusFailed DeleteSCIMUsersSCIMUsersStatus = "failed" + DeleteSCIMUsersSCIMUsersStatusFiveHundredAndOne DeleteSCIMUsersSCIMUsersStatus = "501" +) + +func (e DeleteSCIMUsersSCIMUsersStatus) ToPointer() *DeleteSCIMUsersSCIMUsersStatus { + return &e +} + +func (e *DeleteSCIMUsersSCIMUsersStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "failed": + fallthrough + case "501": + *e = DeleteSCIMUsersSCIMUsersStatus(v) + return nil + default: + return fmt.Errorf("invalid value for DeleteSCIMUsersSCIMUsersStatus: %v", v) + } +} + +// DeleteSCIMUsersSCIMUsersResponseResponseBody - Internal error Failed +type DeleteSCIMUsersSCIMUsersResponseResponseBody struct { + Status *DeleteSCIMUsersSCIMUsersStatus `json:"status,omitempty"` + Schemas *string `json:"schemas,omitempty"` + Detail *string `json:"detail,omitempty"` +} + +func (o *DeleteSCIMUsersSCIMUsersResponseResponseBody) GetStatus() *DeleteSCIMUsersSCIMUsersStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *DeleteSCIMUsersSCIMUsersResponseResponseBody) GetSchemas() *string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *DeleteSCIMUsersSCIMUsersResponseResponseBody) GetDetail() *string { + if o == nil { + return nil + } + return o.Detail +} + +// DeleteSCIMUsersSCIMUsersResponseBody - Not authorized to execte the specific API. +type DeleteSCIMUsersSCIMUsersResponseBody struct { + Message *string `json:"message,omitempty"` +} + +func (o *DeleteSCIMUsersSCIMUsersResponseBody) GetMessage() *string { + if o == nil { + return nil + } + return o.Message +} + +type DeleteSCIMUsersStatus string + +const ( + DeleteSCIMUsersStatusFourHundred DeleteSCIMUsersStatus = "400" + DeleteSCIMUsersStatusFailed DeleteSCIMUsersStatus = "failed" +) + +func (e DeleteSCIMUsersStatus) ToPointer() *DeleteSCIMUsersStatus { + return &e +} + +func (e *DeleteSCIMUsersStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "400": + fallthrough + case "failed": + *e = DeleteSCIMUsersStatus(v) + return nil + default: + return fmt.Errorf("invalid value for DeleteSCIMUsersStatus: %v", v) + } +} + +// DeleteSCIMUsersResponseBody - Failed +type DeleteSCIMUsersResponseBody struct { + Status *DeleteSCIMUsersStatus `json:"status,omitempty"` + Description *string `json:"description,omitempty"` + // schema of the resource + Schemas []string `json:"schemas,omitempty"` +} + +func (o *DeleteSCIMUsersResponseBody) GetStatus() *DeleteSCIMUsersStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *DeleteSCIMUsersResponseBody) GetDescription() *string { + if o == nil { + return nil + } + return o.Description +} + +func (o *DeleteSCIMUsersResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +type DeleteSCIMUsersResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Failed + FourHundredApplicationJSONObject *DeleteSCIMUsersResponseBody + // Not authorized to execte the specific API. + FourHundredAndThreeApplicationJSONObject *DeleteSCIMUsersSCIMUsersResponseBody + // Internal error Failed + FiveHundredAndOneApplicationJSONObject *DeleteSCIMUsersSCIMUsersResponseResponseBody +} + +func (o *DeleteSCIMUsersResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *DeleteSCIMUsersResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *DeleteSCIMUsersResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *DeleteSCIMUsersResponse) GetFourHundredApplicationJSONObject() *DeleteSCIMUsersResponseBody { + if o == nil { + return nil + } + return o.FourHundredApplicationJSONObject +} + +func (o *DeleteSCIMUsersResponse) GetFourHundredAndThreeApplicationJSONObject() *DeleteSCIMUsersSCIMUsersResponseBody { + if o == nil { + return nil + } + return o.FourHundredAndThreeApplicationJSONObject +} + +func (o *DeleteSCIMUsersResponse) GetFiveHundredAndOneApplicationJSONObject() *DeleteSCIMUsersSCIMUsersResponseResponseBody { + if o == nil { + return nil + } + return o.FiveHundredAndOneApplicationJSONObject +} diff --git a/internal/sdk/models/operations/deletescimusersbyid.go b/internal/sdk/models/operations/deletescimusersbyid.go new file mode 100644 index 0000000..eefd867 --- /dev/null +++ b/internal/sdk/models/operations/deletescimusersbyid.go @@ -0,0 +1,201 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "net/http" +) + +type DeleteSCIMUsersByIDRequest struct { + // SCIM Group ID required + ID string `pathParam:"style=simple,explode=false,name=id"` +} + +func (o *DeleteSCIMUsersByIDRequest) GetID() string { + if o == nil { + return "" + } + return o.ID +} + +type DeleteSCIMUsersByIDSCIMGroupsStatus string + +const ( + DeleteSCIMUsersByIDSCIMGroupsStatusFailed DeleteSCIMUsersByIDSCIMGroupsStatus = "failed" + DeleteSCIMUsersByIDSCIMGroupsStatusFiveHundredAndOne DeleteSCIMUsersByIDSCIMGroupsStatus = "501" +) + +func (e DeleteSCIMUsersByIDSCIMGroupsStatus) ToPointer() *DeleteSCIMUsersByIDSCIMGroupsStatus { + return &e +} + +func (e *DeleteSCIMUsersByIDSCIMGroupsStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "failed": + fallthrough + case "501": + *e = DeleteSCIMUsersByIDSCIMGroupsStatus(v) + return nil + default: + return fmt.Errorf("invalid value for DeleteSCIMUsersByIDSCIMGroupsStatus: %v", v) + } +} + +// DeleteSCIMUsersByIDSCIMGroupsResponseResponseBody - Internal error Failed +type DeleteSCIMUsersByIDSCIMGroupsResponseResponseBody struct { + Status *DeleteSCIMUsersByIDSCIMGroupsStatus `json:"status,omitempty"` + Schemas *string `json:"schemas,omitempty"` + Detail *string `json:"detail,omitempty"` +} + +func (o *DeleteSCIMUsersByIDSCIMGroupsResponseResponseBody) GetStatus() *DeleteSCIMUsersByIDSCIMGroupsStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *DeleteSCIMUsersByIDSCIMGroupsResponseResponseBody) GetSchemas() *string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *DeleteSCIMUsersByIDSCIMGroupsResponseResponseBody) GetDetail() *string { + if o == nil { + return nil + } + return o.Detail +} + +// DeleteSCIMUsersByIDSCIMGroupsResponseBody - Not authorized to execte the specific API. +type DeleteSCIMUsersByIDSCIMGroupsResponseBody struct { + Message *string `json:"message,omitempty"` +} + +func (o *DeleteSCIMUsersByIDSCIMGroupsResponseBody) GetMessage() *string { + if o == nil { + return nil + } + return o.Message +} + +type DeleteSCIMUsersByIDStatus string + +const ( + DeleteSCIMUsersByIDStatusFourHundred DeleteSCIMUsersByIDStatus = "400" + DeleteSCIMUsersByIDStatusFailed DeleteSCIMUsersByIDStatus = "failed" +) + +func (e DeleteSCIMUsersByIDStatus) ToPointer() *DeleteSCIMUsersByIDStatus { + return &e +} + +func (e *DeleteSCIMUsersByIDStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "400": + fallthrough + case "failed": + *e = DeleteSCIMUsersByIDStatus(v) + return nil + default: + return fmt.Errorf("invalid value for DeleteSCIMUsersByIDStatus: %v", v) + } +} + +// DeleteSCIMUsersByIDResponseBody - Failed +type DeleteSCIMUsersByIDResponseBody struct { + Status *DeleteSCIMUsersByIDStatus `json:"status,omitempty"` + Description *string `json:"description,omitempty"` + // schema of the resource + Schemas []string `json:"schemas,omitempty"` +} + +func (o *DeleteSCIMUsersByIDResponseBody) GetStatus() *DeleteSCIMUsersByIDStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *DeleteSCIMUsersByIDResponseBody) GetDescription() *string { + if o == nil { + return nil + } + return o.Description +} + +func (o *DeleteSCIMUsersByIDResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +type DeleteSCIMUsersByIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Failed + FourHundredApplicationJSONObject *DeleteSCIMUsersByIDResponseBody + // Not authorized to execte the specific API. + FourHundredAndThreeApplicationJSONObject *DeleteSCIMUsersByIDSCIMGroupsResponseBody + // Internal error Failed + FiveHundredAndOneApplicationJSONObject *DeleteSCIMUsersByIDSCIMGroupsResponseResponseBody +} + +func (o *DeleteSCIMUsersByIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *DeleteSCIMUsersByIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *DeleteSCIMUsersByIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *DeleteSCIMUsersByIDResponse) GetFourHundredApplicationJSONObject() *DeleteSCIMUsersByIDResponseBody { + if o == nil { + return nil + } + return o.FourHundredApplicationJSONObject +} + +func (o *DeleteSCIMUsersByIDResponse) GetFourHundredAndThreeApplicationJSONObject() *DeleteSCIMUsersByIDSCIMGroupsResponseBody { + if o == nil { + return nil + } + return o.FourHundredAndThreeApplicationJSONObject +} + +func (o *DeleteSCIMUsersByIDResponse) GetFiveHundredAndOneApplicationJSONObject() *DeleteSCIMUsersByIDSCIMGroupsResponseResponseBody { + if o == nil { + return nil + } + return o.FiveHundredAndOneApplicationJSONObject +} diff --git a/internal/sdk/models/operations/generatenpapublishertoken.go b/internal/sdk/models/operations/generatenpapublishertoken.go new file mode 100644 index 0000000..1b9f1a1 --- /dev/null +++ b/internal/sdk/models/operations/generatenpapublishertoken.go @@ -0,0 +1,128 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" + "net/http" +) + +type GenerateNPAPublisherTokenRequest struct { + // publisher id + PublisherID int `pathParam:"style=simple,explode=false,name=publisher_id"` +} + +func (o *GenerateNPAPublisherTokenRequest) GetPublisherID() int { + if o == nil { + return 0 + } + return o.PublisherID +} + +type GenerateNPAPublisherTokenData struct { + Token string `json:"token"` +} + +func (o *GenerateNPAPublisherTokenData) GetToken() string { + if o == nil { + return "" + } + return o.Token +} + +type GenerateNPAPublisherTokenStatus string + +const ( + GenerateNPAPublisherTokenStatusSuccess GenerateNPAPublisherTokenStatus = "success" + GenerateNPAPublisherTokenStatusNotFound GenerateNPAPublisherTokenStatus = "not found" +) + +func (e GenerateNPAPublisherTokenStatus) ToPointer() *GenerateNPAPublisherTokenStatus { + return &e +} + +func (e *GenerateNPAPublisherTokenStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "success": + fallthrough + case "not found": + *e = GenerateNPAPublisherTokenStatus(v) + return nil + default: + return fmt.Errorf("invalid value for GenerateNPAPublisherTokenStatus: %v", v) + } +} + +// GenerateNPAPublisherTokenResponseBody - successful operation +type GenerateNPAPublisherTokenResponseBody struct { + Data GenerateNPAPublisherTokenData `json:"data"` + Status GenerateNPAPublisherTokenStatus `json:"status"` +} + +func (o *GenerateNPAPublisherTokenResponseBody) GetData() GenerateNPAPublisherTokenData { + if o == nil { + return GenerateNPAPublisherTokenData{} + } + return o.Data +} + +func (o *GenerateNPAPublisherTokenResponseBody) GetStatus() GenerateNPAPublisherTokenStatus { + if o == nil { + return GenerateNPAPublisherTokenStatus("") + } + return o.Status +} + +type GenerateNPAPublisherTokenResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + Object *GenerateNPAPublisherTokenResponseBody + // Invalid request + PublishersResponse400 *shared.PublishersResponse400 +} + +func (o *GenerateNPAPublisherTokenResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GenerateNPAPublisherTokenResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GenerateNPAPublisherTokenResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GenerateNPAPublisherTokenResponse) GetObject() *GenerateNPAPublisherTokenResponseBody { + if o == nil { + return nil + } + return o.Object +} + +func (o *GenerateNPAPublisherTokenResponse) GetPublishersResponse400() *shared.PublishersResponse400 { + if o == nil { + return nil + } + return o.PublishersResponse400 +} diff --git a/internal/sdk/pkg/models/operations/getsteeringgrepops.go b/internal/sdk/models/operations/getgrepops.go similarity index 68% rename from internal/sdk/pkg/models/operations/getsteeringgrepops.go rename to internal/sdk/models/operations/getgrepops.go index 9c213bc..8f6994a 100644 --- a/internal/sdk/pkg/models/operations/getsteeringgrepops.go +++ b/internal/sdk/models/operations/getgrepops.go @@ -3,12 +3,12 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetSteeringGrePopsRequest struct { +type GetGrePopsRequest struct { // POP name Name *string `queryParam:"style=form,explode=true,name=name"` // POP region, requires ISO-3166 region code and return POPs closest to value @@ -29,81 +29,81 @@ type GetSteeringGrePopsRequest struct { Limit *int64 `default:"100" queryParam:"style=form,explode=true,name=limit"` } -func (g GetSteeringGrePopsRequest) MarshalJSON() ([]byte, error) { +func (g GetGrePopsRequest) MarshalJSON() ([]byte, error) { return utils.MarshalJSON(g, "", false) } -func (g *GetSteeringGrePopsRequest) UnmarshalJSON(data []byte) error { +func (g *GetGrePopsRequest) UnmarshalJSON(data []byte) error { if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { return err } return nil } -func (o *GetSteeringGrePopsRequest) GetName() *string { +func (o *GetGrePopsRequest) GetName() *string { if o == nil { return nil } return o.Name } -func (o *GetSteeringGrePopsRequest) GetRegion() *string { +func (o *GetGrePopsRequest) GetRegion() *string { if o == nil { return nil } return o.Region } -func (o *GetSteeringGrePopsRequest) GetCountry() *string { +func (o *GetGrePopsRequest) GetCountry() *string { if o == nil { return nil } return o.Country } -func (o *GetSteeringGrePopsRequest) GetLat() *string { +func (o *GetGrePopsRequest) GetLat() *string { if o == nil { return nil } return o.Lat } -func (o *GetSteeringGrePopsRequest) GetLong() *string { +func (o *GetGrePopsRequest) GetLong() *string { if o == nil { return nil } return o.Long } -func (o *GetSteeringGrePopsRequest) GetIP() *string { +func (o *GetGrePopsRequest) GetIP() *string { if o == nil { return nil } return o.IP } -func (o *GetSteeringGrePopsRequest) GetFields() *string { +func (o *GetGrePopsRequest) GetFields() *string { if o == nil { return nil } return o.Fields } -func (o *GetSteeringGrePopsRequest) GetOffset() *int64 { +func (o *GetGrePopsRequest) GetOffset() *int64 { if o == nil { return nil } return o.Offset } -func (o *GetSteeringGrePopsRequest) GetLimit() *int64 { +func (o *GetGrePopsRequest) GetLimit() *int64 { if o == nil { return nil } return o.Limit } -type GetSteeringGrePopsResponse struct { +type GetGrePopsResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -124,63 +124,63 @@ type GetSteeringGrePopsResponse struct { GreResponse500 *shared.GreResponse500 } -func (o *GetSteeringGrePopsResponse) GetContentType() string { +func (o *GetGrePopsResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetSteeringGrePopsResponse) GetStatusCode() int { +func (o *GetGrePopsResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetSteeringGrePopsResponse) GetRawResponse() *http.Response { +func (o *GetGrePopsResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetSteeringGrePopsResponse) GetGrePopResponse200() *shared.GrePopResponse200 { +func (o *GetGrePopsResponse) GetGrePopResponse200() *shared.GrePopResponse200 { if o == nil { return nil } return o.GrePopResponse200 } -func (o *GetSteeringGrePopsResponse) GetGreResponse400() *shared.GreResponse400 { +func (o *GetGrePopsResponse) GetGreResponse400() *shared.GreResponse400 { if o == nil { return nil } return o.GreResponse400 } -func (o *GetSteeringGrePopsResponse) GetGreResponse403() *shared.GreResponse403 { +func (o *GetGrePopsResponse) GetGreResponse403() *shared.GreResponse403 { if o == nil { return nil } return o.GreResponse403 } -func (o *GetSteeringGrePopsResponse) GetGreResponse405() *shared.GreResponse405 { +func (o *GetGrePopsResponse) GetGreResponse405() *shared.GreResponse405 { if o == nil { return nil } return o.GreResponse405 } -func (o *GetSteeringGrePopsResponse) GetGreResponse429() *shared.GreResponse429 { +func (o *GetGrePopsResponse) GetGreResponse429() *shared.GreResponse429 { if o == nil { return nil } return o.GreResponse429 } -func (o *GetSteeringGrePopsResponse) GetGreResponse500() *shared.GreResponse500 { +func (o *GetGrePopsResponse) GetGreResponse500() *shared.GreResponse500 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/getsteeringgrepopsid.go b/internal/sdk/models/operations/getgrepopsbyid.go similarity index 62% rename from internal/sdk/pkg/models/operations/getsteeringgrepopsid.go rename to internal/sdk/models/operations/getgrepopsbyid.go index 6625372..d958a59 100644 --- a/internal/sdk/pkg/models/operations/getsteeringgrepopsid.go +++ b/internal/sdk/models/operations/getgrepopsbyid.go @@ -3,32 +3,32 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetSteeringGrePopsIDRequest struct { +type GetGrePopsByIDRequest struct { // POP id ID string `pathParam:"style=simple,explode=false,name=id"` // Provide comma separated list of fields to be displayed Fields *string `queryParam:"style=form,explode=true,name=fields"` } -func (o *GetSteeringGrePopsIDRequest) GetID() string { +func (o *GetGrePopsByIDRequest) GetID() string { if o == nil { return "" } return o.ID } -func (o *GetSteeringGrePopsIDRequest) GetFields() *string { +func (o *GetGrePopsByIDRequest) GetFields() *string { if o == nil { return nil } return o.Fields } -type GetSteeringGrePopsIDResponse struct { +type GetGrePopsByIDResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -51,70 +51,70 @@ type GetSteeringGrePopsIDResponse struct { GreResponse500 *shared.GreResponse500 } -func (o *GetSteeringGrePopsIDResponse) GetContentType() string { +func (o *GetGrePopsByIDResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetSteeringGrePopsIDResponse) GetStatusCode() int { +func (o *GetGrePopsByIDResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetSteeringGrePopsIDResponse) GetRawResponse() *http.Response { +func (o *GetGrePopsByIDResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetSteeringGrePopsIDResponse) GetGrePopResponse200() *shared.GrePopResponse200 { +func (o *GetGrePopsByIDResponse) GetGrePopResponse200() *shared.GrePopResponse200 { if o == nil { return nil } return o.GrePopResponse200 } -func (o *GetSteeringGrePopsIDResponse) GetGreResponse400() *shared.GreResponse400 { +func (o *GetGrePopsByIDResponse) GetGreResponse400() *shared.GreResponse400 { if o == nil { return nil } return o.GreResponse400 } -func (o *GetSteeringGrePopsIDResponse) GetGreResponse403() *shared.GreResponse403 { +func (o *GetGrePopsByIDResponse) GetGreResponse403() *shared.GreResponse403 { if o == nil { return nil } return o.GreResponse403 } -func (o *GetSteeringGrePopsIDResponse) GetGreResponse404() *shared.GreResponse404 { +func (o *GetGrePopsByIDResponse) GetGreResponse404() *shared.GreResponse404 { if o == nil { return nil } return o.GreResponse404 } -func (o *GetSteeringGrePopsIDResponse) GetGreResponse405() *shared.GreResponse405 { +func (o *GetGrePopsByIDResponse) GetGreResponse405() *shared.GreResponse405 { if o == nil { return nil } return o.GreResponse405 } -func (o *GetSteeringGrePopsIDResponse) GetGreResponse429() *shared.GreResponse429 { +func (o *GetGrePopsByIDResponse) GetGreResponse429() *shared.GreResponse429 { if o == nil { return nil } return o.GreResponse429 } -func (o *GetSteeringGrePopsIDResponse) GetGreResponse500() *shared.GreResponse500 { +func (o *GetGrePopsByIDResponse) GetGreResponse500() *shared.GreResponse500 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/getsteeringgretunnels.go b/internal/sdk/models/operations/getgretunnels.go similarity index 65% rename from internal/sdk/pkg/models/operations/getsteeringgretunnels.go rename to internal/sdk/models/operations/getgretunnels.go index 300cb9b..fb004f2 100644 --- a/internal/sdk/pkg/models/operations/getsteeringgretunnels.go +++ b/internal/sdk/models/operations/getgretunnels.go @@ -3,12 +3,12 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetSteeringGreTunnelsRequest struct { +type GetGreTunnelsRequest struct { // GRE tunnel site Site *string `queryParam:"style=form,explode=true,name=site"` // GRE tunnel source ip identity @@ -31,88 +31,88 @@ type GetSteeringGreTunnelsRequest struct { Limit *int64 `default:"100" queryParam:"style=form,explode=true,name=limit"` } -func (g GetSteeringGreTunnelsRequest) MarshalJSON() ([]byte, error) { +func (g GetGreTunnelsRequest) MarshalJSON() ([]byte, error) { return utils.MarshalJSON(g, "", false) } -func (g *GetSteeringGreTunnelsRequest) UnmarshalJSON(data []byte) error { +func (g *GetGreTunnelsRequest) UnmarshalJSON(data []byte) error { if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { return err } return nil } -func (o *GetSteeringGreTunnelsRequest) GetSite() *string { +func (o *GetGreTunnelsRequest) GetSite() *string { if o == nil { return nil } return o.Site } -func (o *GetSteeringGreTunnelsRequest) GetSrcipidentity() *string { +func (o *GetGreTunnelsRequest) GetSrcipidentity() *string { if o == nil { return nil } return o.Srcipidentity } -func (o *GetSteeringGreTunnelsRequest) GetPop() *string { +func (o *GetGreTunnelsRequest) GetPop() *string { if o == nil { return nil } return o.Pop } -func (o *GetSteeringGreTunnelsRequest) GetStatus() *string { +func (o *GetGreTunnelsRequest) GetStatus() *string { if o == nil { return nil } return o.Status } -func (o *GetSteeringGreTunnelsRequest) GetSourcetype() *string { +func (o *GetGreTunnelsRequest) GetSourcetype() *string { if o == nil { return nil } return o.Sourcetype } -func (o *GetSteeringGreTunnelsRequest) GetSortby() *string { +func (o *GetGreTunnelsRequest) GetSortby() *string { if o == nil { return nil } return o.Sortby } -func (o *GetSteeringGreTunnelsRequest) GetSortorder() *string { +func (o *GetGreTunnelsRequest) GetSortorder() *string { if o == nil { return nil } return o.Sortorder } -func (o *GetSteeringGreTunnelsRequest) GetFields() *string { +func (o *GetGreTunnelsRequest) GetFields() *string { if o == nil { return nil } return o.Fields } -func (o *GetSteeringGreTunnelsRequest) GetOffset() *int64 { +func (o *GetGreTunnelsRequest) GetOffset() *int64 { if o == nil { return nil } return o.Offset } -func (o *GetSteeringGreTunnelsRequest) GetLimit() *int64 { +func (o *GetGreTunnelsRequest) GetLimit() *int64 { if o == nil { return nil } return o.Limit } -type GetSteeringGreTunnelsResponse struct { +type GetGreTunnelsResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -133,63 +133,63 @@ type GetSteeringGreTunnelsResponse struct { GreResponse500 *shared.GreResponse500 } -func (o *GetSteeringGreTunnelsResponse) GetContentType() string { +func (o *GetGreTunnelsResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetSteeringGreTunnelsResponse) GetStatusCode() int { +func (o *GetGreTunnelsResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetSteeringGreTunnelsResponse) GetRawResponse() *http.Response { +func (o *GetGreTunnelsResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetSteeringGreTunnelsResponse) GetGreTunnelResponse200() *shared.GreTunnelResponse200 { +func (o *GetGreTunnelsResponse) GetGreTunnelResponse200() *shared.GreTunnelResponse200 { if o == nil { return nil } return o.GreTunnelResponse200 } -func (o *GetSteeringGreTunnelsResponse) GetGreResponse400() *shared.GreResponse400 { +func (o *GetGreTunnelsResponse) GetGreResponse400() *shared.GreResponse400 { if o == nil { return nil } return o.GreResponse400 } -func (o *GetSteeringGreTunnelsResponse) GetGreResponse403() *shared.GreResponse403 { +func (o *GetGreTunnelsResponse) GetGreResponse403() *shared.GreResponse403 { if o == nil { return nil } return o.GreResponse403 } -func (o *GetSteeringGreTunnelsResponse) GetGreResponse405() *shared.GreResponse405 { +func (o *GetGreTunnelsResponse) GetGreResponse405() *shared.GreResponse405 { if o == nil { return nil } return o.GreResponse405 } -func (o *GetSteeringGreTunnelsResponse) GetGreResponse429() *shared.GreResponse429 { +func (o *GetGreTunnelsResponse) GetGreResponse429() *shared.GreResponse429 { if o == nil { return nil } return o.GreResponse429 } -func (o *GetSteeringGreTunnelsResponse) GetGreResponse500() *shared.GreResponse500 { +func (o *GetGreTunnelsResponse) GetGreResponse500() *shared.GreResponse500 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/getsteeringgretunnelsid.go b/internal/sdk/models/operations/getgretunnelsbyid.go similarity index 61% rename from internal/sdk/pkg/models/operations/getsteeringgretunnelsid.go rename to internal/sdk/models/operations/getgretunnelsbyid.go index 28ebef9..710349a 100644 --- a/internal/sdk/pkg/models/operations/getsteeringgretunnelsid.go +++ b/internal/sdk/models/operations/getgretunnelsbyid.go @@ -3,32 +3,32 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetSteeringGreTunnelsIDRequest struct { +type GetGreTunnelsByIDRequest struct { // GRE tunnel id ID int64 `pathParam:"style=simple,explode=false,name=id"` // Provide comma separated list of fields to be displayed Fields *string `queryParam:"style=form,explode=true,name=fields"` } -func (o *GetSteeringGreTunnelsIDRequest) GetID() int64 { +func (o *GetGreTunnelsByIDRequest) GetID() int64 { if o == nil { return 0 } return o.ID } -func (o *GetSteeringGreTunnelsIDRequest) GetFields() *string { +func (o *GetGreTunnelsByIDRequest) GetFields() *string { if o == nil { return nil } return o.Fields } -type GetSteeringGreTunnelsIDResponse struct { +type GetGreTunnelsByIDResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -51,70 +51,70 @@ type GetSteeringGreTunnelsIDResponse struct { GreResponse500 *shared.GreResponse500 } -func (o *GetSteeringGreTunnelsIDResponse) GetContentType() string { +func (o *GetGreTunnelsByIDResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetSteeringGreTunnelsIDResponse) GetStatusCode() int { +func (o *GetGreTunnelsByIDResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetSteeringGreTunnelsIDResponse) GetRawResponse() *http.Response { +func (o *GetGreTunnelsByIDResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetSteeringGreTunnelsIDResponse) GetGreTunnelResponse200() *shared.GreTunnelResponse200 { +func (o *GetGreTunnelsByIDResponse) GetGreTunnelResponse200() *shared.GreTunnelResponse200 { if o == nil { return nil } return o.GreTunnelResponse200 } -func (o *GetSteeringGreTunnelsIDResponse) GetGreResponse400() *shared.GreResponse400 { +func (o *GetGreTunnelsByIDResponse) GetGreResponse400() *shared.GreResponse400 { if o == nil { return nil } return o.GreResponse400 } -func (o *GetSteeringGreTunnelsIDResponse) GetGreResponse403() *shared.GreResponse403 { +func (o *GetGreTunnelsByIDResponse) GetGreResponse403() *shared.GreResponse403 { if o == nil { return nil } return o.GreResponse403 } -func (o *GetSteeringGreTunnelsIDResponse) GetGreResponse404() *shared.GreResponse404 { +func (o *GetGreTunnelsByIDResponse) GetGreResponse404() *shared.GreResponse404 { if o == nil { return nil } return o.GreResponse404 } -func (o *GetSteeringGreTunnelsIDResponse) GetGreResponse405() *shared.GreResponse405 { +func (o *GetGreTunnelsByIDResponse) GetGreResponse405() *shared.GreResponse405 { if o == nil { return nil } return o.GreResponse405 } -func (o *GetSteeringGreTunnelsIDResponse) GetGreResponse429() *shared.GreResponse429 { +func (o *GetGreTunnelsByIDResponse) GetGreResponse429() *shared.GreResponse429 { if o == nil { return nil } return o.GreResponse429 } -func (o *GetSteeringGreTunnelsIDResponse) GetGreResponse500() *shared.GreResponse500 { +func (o *GetGreTunnelsByIDResponse) GetGreResponse500() *shared.GreResponse500 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/getsteeringipsecpops.go b/internal/sdk/models/operations/getipsecpops.go similarity index 67% rename from internal/sdk/pkg/models/operations/getsteeringipsecpops.go rename to internal/sdk/models/operations/getipsecpops.go index 08104f8..f9eab73 100644 --- a/internal/sdk/pkg/models/operations/getsteeringipsecpops.go +++ b/internal/sdk/models/operations/getipsecpops.go @@ -3,12 +3,12 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetSteeringIpsecPopsRequest struct { +type GetIpsecPopsRequest struct { // POP name Name *string `queryParam:"style=form,explode=true,name=name"` // POP region, requires ISO-3166 region code and return POPs closest to value @@ -31,88 +31,88 @@ type GetSteeringIpsecPopsRequest struct { Limit *int64 `default:"100" queryParam:"style=form,explode=true,name=limit"` } -func (g GetSteeringIpsecPopsRequest) MarshalJSON() ([]byte, error) { +func (g GetIpsecPopsRequest) MarshalJSON() ([]byte, error) { return utils.MarshalJSON(g, "", false) } -func (g *GetSteeringIpsecPopsRequest) UnmarshalJSON(data []byte) error { +func (g *GetIpsecPopsRequest) UnmarshalJSON(data []byte) error { if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { return err } return nil } -func (o *GetSteeringIpsecPopsRequest) GetName() *string { +func (o *GetIpsecPopsRequest) GetName() *string { if o == nil { return nil } return o.Name } -func (o *GetSteeringIpsecPopsRequest) GetRegion() *string { +func (o *GetIpsecPopsRequest) GetRegion() *string { if o == nil { return nil } return o.Region } -func (o *GetSteeringIpsecPopsRequest) GetCountry() *string { +func (o *GetIpsecPopsRequest) GetCountry() *string { if o == nil { return nil } return o.Country } -func (o *GetSteeringIpsecPopsRequest) GetLat() *string { +func (o *GetIpsecPopsRequest) GetLat() *string { if o == nil { return nil } return o.Lat } -func (o *GetSteeringIpsecPopsRequest) GetLong() *string { +func (o *GetIpsecPopsRequest) GetLong() *string { if o == nil { return nil } return o.Long } -func (o *GetSteeringIpsecPopsRequest) GetIP() *string { +func (o *GetIpsecPopsRequest) GetIP() *string { if o == nil { return nil } return o.IP } -func (o *GetSteeringIpsecPopsRequest) GetCapabilities() *string { +func (o *GetIpsecPopsRequest) GetCapabilities() *string { if o == nil { return nil } return o.Capabilities } -func (o *GetSteeringIpsecPopsRequest) GetFields() *string { +func (o *GetIpsecPopsRequest) GetFields() *string { if o == nil { return nil } return o.Fields } -func (o *GetSteeringIpsecPopsRequest) GetOffset() *int64 { +func (o *GetIpsecPopsRequest) GetOffset() *int64 { if o == nil { return nil } return o.Offset } -func (o *GetSteeringIpsecPopsRequest) GetLimit() *int64 { +func (o *GetIpsecPopsRequest) GetLimit() *int64 { if o == nil { return nil } return o.Limit } -type GetSteeringIpsecPopsResponse struct { +type GetIpsecPopsResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -133,63 +133,63 @@ type GetSteeringIpsecPopsResponse struct { IpsecResponse500 *shared.IpsecResponse500 } -func (o *GetSteeringIpsecPopsResponse) GetContentType() string { +func (o *GetIpsecPopsResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetSteeringIpsecPopsResponse) GetStatusCode() int { +func (o *GetIpsecPopsResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetSteeringIpsecPopsResponse) GetRawResponse() *http.Response { +func (o *GetIpsecPopsResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetSteeringIpsecPopsResponse) GetIpsecPopResponse200() *shared.IpsecPopResponse200 { +func (o *GetIpsecPopsResponse) GetIpsecPopResponse200() *shared.IpsecPopResponse200 { if o == nil { return nil } return o.IpsecPopResponse200 } -func (o *GetSteeringIpsecPopsResponse) GetIpsecResponse400() *shared.IpsecResponse400 { +func (o *GetIpsecPopsResponse) GetIpsecResponse400() *shared.IpsecResponse400 { if o == nil { return nil } return o.IpsecResponse400 } -func (o *GetSteeringIpsecPopsResponse) GetIpsecResponse403() *shared.IpsecResponse403 { +func (o *GetIpsecPopsResponse) GetIpsecResponse403() *shared.IpsecResponse403 { if o == nil { return nil } return o.IpsecResponse403 } -func (o *GetSteeringIpsecPopsResponse) GetIpsecResponse405() *shared.IpsecResponse405 { +func (o *GetIpsecPopsResponse) GetIpsecResponse405() *shared.IpsecResponse405 { if o == nil { return nil } return o.IpsecResponse405 } -func (o *GetSteeringIpsecPopsResponse) GetIpsecResponse429() *shared.IpsecResponse429 { +func (o *GetIpsecPopsResponse) GetIpsecResponse429() *shared.IpsecResponse429 { if o == nil { return nil } return o.IpsecResponse429 } -func (o *GetSteeringIpsecPopsResponse) GetIpsecResponse500() *shared.IpsecResponse500 { +func (o *GetIpsecPopsResponse) GetIpsecResponse500() *shared.IpsecResponse500 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/getsteeringipsecpopsid.go b/internal/sdk/models/operations/getipsecpopsbyid.go similarity index 62% rename from internal/sdk/pkg/models/operations/getsteeringipsecpopsid.go rename to internal/sdk/models/operations/getipsecpopsbyid.go index aa8ec69..6f05aa6 100644 --- a/internal/sdk/pkg/models/operations/getsteeringipsecpopsid.go +++ b/internal/sdk/models/operations/getipsecpopsbyid.go @@ -3,32 +3,32 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetSteeringIpsecPopsIDRequest struct { +type GetIpsecPopsByIDRequest struct { // POP id ID string `pathParam:"style=simple,explode=false,name=id"` // Provide comma separated list of fields to be displayed Fields *string `queryParam:"style=form,explode=true,name=fields"` } -func (o *GetSteeringIpsecPopsIDRequest) GetID() string { +func (o *GetIpsecPopsByIDRequest) GetID() string { if o == nil { return "" } return o.ID } -func (o *GetSteeringIpsecPopsIDRequest) GetFields() *string { +func (o *GetIpsecPopsByIDRequest) GetFields() *string { if o == nil { return nil } return o.Fields } -type GetSteeringIpsecPopsIDResponse struct { +type GetIpsecPopsByIDResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -51,70 +51,70 @@ type GetSteeringIpsecPopsIDResponse struct { IpsecResponse500 *shared.IpsecResponse500 } -func (o *GetSteeringIpsecPopsIDResponse) GetContentType() string { +func (o *GetIpsecPopsByIDResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetSteeringIpsecPopsIDResponse) GetStatusCode() int { +func (o *GetIpsecPopsByIDResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetSteeringIpsecPopsIDResponse) GetRawResponse() *http.Response { +func (o *GetIpsecPopsByIDResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetSteeringIpsecPopsIDResponse) GetIpsecPopResponse200() *shared.IpsecPopResponse200 { +func (o *GetIpsecPopsByIDResponse) GetIpsecPopResponse200() *shared.IpsecPopResponse200 { if o == nil { return nil } return o.IpsecPopResponse200 } -func (o *GetSteeringIpsecPopsIDResponse) GetIpsecResponse400() *shared.IpsecResponse400 { +func (o *GetIpsecPopsByIDResponse) GetIpsecResponse400() *shared.IpsecResponse400 { if o == nil { return nil } return o.IpsecResponse400 } -func (o *GetSteeringIpsecPopsIDResponse) GetIpsecResponse403() *shared.IpsecResponse403 { +func (o *GetIpsecPopsByIDResponse) GetIpsecResponse403() *shared.IpsecResponse403 { if o == nil { return nil } return o.IpsecResponse403 } -func (o *GetSteeringIpsecPopsIDResponse) GetIpsecResponse404() *shared.IpsecResponse404 { +func (o *GetIpsecPopsByIDResponse) GetIpsecResponse404() *shared.IpsecResponse404 { if o == nil { return nil } return o.IpsecResponse404 } -func (o *GetSteeringIpsecPopsIDResponse) GetIpsecResponse405() *shared.IpsecResponse405 { +func (o *GetIpsecPopsByIDResponse) GetIpsecResponse405() *shared.IpsecResponse405 { if o == nil { return nil } return o.IpsecResponse405 } -func (o *GetSteeringIpsecPopsIDResponse) GetIpsecResponse429() *shared.IpsecResponse429 { +func (o *GetIpsecPopsByIDResponse) GetIpsecResponse429() *shared.IpsecResponse429 { if o == nil { return nil } return o.IpsecResponse429 } -func (o *GetSteeringIpsecPopsIDResponse) GetIpsecResponse500() *shared.IpsecResponse500 { +func (o *GetIpsecPopsByIDResponse) GetIpsecResponse500() *shared.IpsecResponse500 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/getsteeringipsectunnels.go b/internal/sdk/models/operations/getipsectunnels.go similarity index 65% rename from internal/sdk/pkg/models/operations/getsteeringipsectunnels.go rename to internal/sdk/models/operations/getipsectunnels.go index e889e32..aaee0bb 100644 --- a/internal/sdk/pkg/models/operations/getsteeringipsectunnels.go +++ b/internal/sdk/models/operations/getipsectunnels.go @@ -3,12 +3,12 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetSteeringIpsecTunnelsRequest struct { +type GetIpsecTunnelsRequest struct { // IPSec tunnel site Site *string `queryParam:"style=form,explode=true,name=site"` // IPSec tunnel source ip identity @@ -33,95 +33,95 @@ type GetSteeringIpsecTunnelsRequest struct { Limit *int64 `default:"100" queryParam:"style=form,explode=true,name=limit"` } -func (g GetSteeringIpsecTunnelsRequest) MarshalJSON() ([]byte, error) { +func (g GetIpsecTunnelsRequest) MarshalJSON() ([]byte, error) { return utils.MarshalJSON(g, "", false) } -func (g *GetSteeringIpsecTunnelsRequest) UnmarshalJSON(data []byte) error { +func (g *GetIpsecTunnelsRequest) UnmarshalJSON(data []byte) error { if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { return err } return nil } -func (o *GetSteeringIpsecTunnelsRequest) GetSite() *string { +func (o *GetIpsecTunnelsRequest) GetSite() *string { if o == nil { return nil } return o.Site } -func (o *GetSteeringIpsecTunnelsRequest) GetSrcipidentity() *string { +func (o *GetIpsecTunnelsRequest) GetSrcipidentity() *string { if o == nil { return nil } return o.Srcipidentity } -func (o *GetSteeringIpsecTunnelsRequest) GetSrcidentity() *string { +func (o *GetIpsecTunnelsRequest) GetSrcidentity() *string { if o == nil { return nil } return o.Srcidentity } -func (o *GetSteeringIpsecTunnelsRequest) GetPop() *string { +func (o *GetIpsecTunnelsRequest) GetPop() *string { if o == nil { return nil } return o.Pop } -func (o *GetSteeringIpsecTunnelsRequest) GetStatus() *string { +func (o *GetIpsecTunnelsRequest) GetStatus() *string { if o == nil { return nil } return o.Status } -func (o *GetSteeringIpsecTunnelsRequest) GetSourcetype() *string { +func (o *GetIpsecTunnelsRequest) GetSourcetype() *string { if o == nil { return nil } return o.Sourcetype } -func (o *GetSteeringIpsecTunnelsRequest) GetSortby() *string { +func (o *GetIpsecTunnelsRequest) GetSortby() *string { if o == nil { return nil } return o.Sortby } -func (o *GetSteeringIpsecTunnelsRequest) GetSortorder() *string { +func (o *GetIpsecTunnelsRequest) GetSortorder() *string { if o == nil { return nil } return o.Sortorder } -func (o *GetSteeringIpsecTunnelsRequest) GetFields() *string { +func (o *GetIpsecTunnelsRequest) GetFields() *string { if o == nil { return nil } return o.Fields } -func (o *GetSteeringIpsecTunnelsRequest) GetOffset() *int64 { +func (o *GetIpsecTunnelsRequest) GetOffset() *int64 { if o == nil { return nil } return o.Offset } -func (o *GetSteeringIpsecTunnelsRequest) GetLimit() *int64 { +func (o *GetIpsecTunnelsRequest) GetLimit() *int64 { if o == nil { return nil } return o.Limit } -type GetSteeringIpsecTunnelsResponse struct { +type GetIpsecTunnelsResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -142,63 +142,63 @@ type GetSteeringIpsecTunnelsResponse struct { IpsecResponse500 *shared.IpsecResponse500 } -func (o *GetSteeringIpsecTunnelsResponse) GetContentType() string { +func (o *GetIpsecTunnelsResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetSteeringIpsecTunnelsResponse) GetStatusCode() int { +func (o *GetIpsecTunnelsResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetSteeringIpsecTunnelsResponse) GetRawResponse() *http.Response { +func (o *GetIpsecTunnelsResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetSteeringIpsecTunnelsResponse) GetIpsecTunnelResponse200() *shared.IpsecTunnelResponse200 { +func (o *GetIpsecTunnelsResponse) GetIpsecTunnelResponse200() *shared.IpsecTunnelResponse200 { if o == nil { return nil } return o.IpsecTunnelResponse200 } -func (o *GetSteeringIpsecTunnelsResponse) GetIpsecResponse400() *shared.IpsecResponse400 { +func (o *GetIpsecTunnelsResponse) GetIpsecResponse400() *shared.IpsecResponse400 { if o == nil { return nil } return o.IpsecResponse400 } -func (o *GetSteeringIpsecTunnelsResponse) GetIpsecResponse403() *shared.IpsecResponse403 { +func (o *GetIpsecTunnelsResponse) GetIpsecResponse403() *shared.IpsecResponse403 { if o == nil { return nil } return o.IpsecResponse403 } -func (o *GetSteeringIpsecTunnelsResponse) GetIpsecResponse405() *shared.IpsecResponse405 { +func (o *GetIpsecTunnelsResponse) GetIpsecResponse405() *shared.IpsecResponse405 { if o == nil { return nil } return o.IpsecResponse405 } -func (o *GetSteeringIpsecTunnelsResponse) GetIpsecResponse429() *shared.IpsecResponse429 { +func (o *GetIpsecTunnelsResponse) GetIpsecResponse429() *shared.IpsecResponse429 { if o == nil { return nil } return o.IpsecResponse429 } -func (o *GetSteeringIpsecTunnelsResponse) GetIpsecResponse500() *shared.IpsecResponse500 { +func (o *GetIpsecTunnelsResponse) GetIpsecResponse500() *shared.IpsecResponse500 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/getsteeringipsectunnelsid.go b/internal/sdk/models/operations/getipsectunnelsbyid.go similarity index 61% rename from internal/sdk/pkg/models/operations/getsteeringipsectunnelsid.go rename to internal/sdk/models/operations/getipsectunnelsbyid.go index 36a88c2..2bf8319 100644 --- a/internal/sdk/pkg/models/operations/getsteeringipsectunnelsid.go +++ b/internal/sdk/models/operations/getipsectunnelsbyid.go @@ -3,32 +3,32 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetSteeringIpsecTunnelsIDRequest struct { +type GetIpsecTunnelsByIDRequest struct { // IPSec tunnel id ID int64 `pathParam:"style=simple,explode=false,name=id"` // Provide comma separated list of fields to be displayed Fields *string `queryParam:"style=form,explode=true,name=fields"` } -func (o *GetSteeringIpsecTunnelsIDRequest) GetID() int64 { +func (o *GetIpsecTunnelsByIDRequest) GetID() int64 { if o == nil { return 0 } return o.ID } -func (o *GetSteeringIpsecTunnelsIDRequest) GetFields() *string { +func (o *GetIpsecTunnelsByIDRequest) GetFields() *string { if o == nil { return nil } return o.Fields } -type GetSteeringIpsecTunnelsIDResponse struct { +type GetIpsecTunnelsByIDResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -51,70 +51,70 @@ type GetSteeringIpsecTunnelsIDResponse struct { IpsecResponse500 *shared.IpsecResponse500 } -func (o *GetSteeringIpsecTunnelsIDResponse) GetContentType() string { +func (o *GetIpsecTunnelsByIDResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetSteeringIpsecTunnelsIDResponse) GetStatusCode() int { +func (o *GetIpsecTunnelsByIDResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetSteeringIpsecTunnelsIDResponse) GetRawResponse() *http.Response { +func (o *GetIpsecTunnelsByIDResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetSteeringIpsecTunnelsIDResponse) GetIpsecTunnelResponse200() *shared.IpsecTunnelResponse200 { +func (o *GetIpsecTunnelsByIDResponse) GetIpsecTunnelResponse200() *shared.IpsecTunnelResponse200 { if o == nil { return nil } return o.IpsecTunnelResponse200 } -func (o *GetSteeringIpsecTunnelsIDResponse) GetIpsecResponse400() *shared.IpsecResponse400 { +func (o *GetIpsecTunnelsByIDResponse) GetIpsecResponse400() *shared.IpsecResponse400 { if o == nil { return nil } return o.IpsecResponse400 } -func (o *GetSteeringIpsecTunnelsIDResponse) GetIpsecResponse403() *shared.IpsecResponse403 { +func (o *GetIpsecTunnelsByIDResponse) GetIpsecResponse403() *shared.IpsecResponse403 { if o == nil { return nil } return o.IpsecResponse403 } -func (o *GetSteeringIpsecTunnelsIDResponse) GetIpsecResponse404() *shared.IpsecResponse404 { +func (o *GetIpsecTunnelsByIDResponse) GetIpsecResponse404() *shared.IpsecResponse404 { if o == nil { return nil } return o.IpsecResponse404 } -func (o *GetSteeringIpsecTunnelsIDResponse) GetIpsecResponse405() *shared.IpsecResponse405 { +func (o *GetIpsecTunnelsByIDResponse) GetIpsecResponse405() *shared.IpsecResponse405 { if o == nil { return nil } return o.IpsecResponse405 } -func (o *GetSteeringIpsecTunnelsIDResponse) GetIpsecResponse429() *shared.IpsecResponse429 { +func (o *GetIpsecTunnelsByIDResponse) GetIpsecResponse429() *shared.IpsecResponse429 { if o == nil { return nil } return o.IpsecResponse429 } -func (o *GetSteeringIpsecTunnelsIDResponse) GetIpsecResponse500() *shared.IpsecResponse500 { +func (o *GetIpsecTunnelsByIDResponse) GetIpsecResponse500() *shared.IpsecResponse500 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/getsteeringappsprivate.go b/internal/sdk/models/operations/getnpaapps.go similarity index 63% rename from internal/sdk/pkg/models/operations/getsteeringappsprivate.go rename to internal/sdk/models/operations/getnpaapps.go index 3af432c..1e232f1 100644 --- a/internal/sdk/pkg/models/operations/getsteeringappsprivate.go +++ b/internal/sdk/models/operations/getnpaapps.go @@ -3,23 +3,23 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetSteeringAppsPrivateRequest struct { +type GetNPAAppsRequest struct { // Return values only from specified fields Fields *string `queryParam:"style=form,explode=true,name=fields"` } -func (o *GetSteeringAppsPrivateRequest) GetFields() *string { +func (o *GetNPAAppsRequest) GetFields() *string { if o == nil { return nil } return o.Fields } -type GetSteeringAppsPrivateResponse struct { +type GetNPAAppsResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -32,35 +32,35 @@ type GetSteeringAppsPrivateResponse struct { PrivateAppsResponse400 *shared.PrivateAppsResponse400 } -func (o *GetSteeringAppsPrivateResponse) GetContentType() string { +func (o *GetNPAAppsResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetSteeringAppsPrivateResponse) GetStatusCode() int { +func (o *GetNPAAppsResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetSteeringAppsPrivateResponse) GetRawResponse() *http.Response { +func (o *GetNPAAppsResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetSteeringAppsPrivateResponse) GetPrivateAppsGetResponse() *shared.PrivateAppsGetResponse { +func (o *GetNPAAppsResponse) GetPrivateAppsGetResponse() *shared.PrivateAppsGetResponse { if o == nil { return nil } return o.PrivateAppsGetResponse } -func (o *GetSteeringAppsPrivateResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { +func (o *GetNPAAppsResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/getsteeringappsprivateprivateappid.go b/internal/sdk/models/operations/getnpaappsbyid.go similarity index 59% rename from internal/sdk/pkg/models/operations/getsteeringappsprivateprivateappid.go rename to internal/sdk/models/operations/getnpaappsbyid.go index 09e7439..6aa1df2 100644 --- a/internal/sdk/pkg/models/operations/getsteeringappsprivateprivateappid.go +++ b/internal/sdk/models/operations/getnpaappsbyid.go @@ -3,23 +3,23 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetSteeringAppsPrivatePrivateAppIDRequest struct { +type GetNPAAppsByIDRequest struct { // private apps id PrivateAppID int `pathParam:"style=simple,explode=false,name=private_app_id"` } -func (o *GetSteeringAppsPrivatePrivateAppIDRequest) GetPrivateAppID() int { +func (o *GetNPAAppsByIDRequest) GetPrivateAppID() int { if o == nil { return 0 } return o.PrivateAppID } -type GetSteeringAppsPrivatePrivateAppIDResponse struct { +type GetNPAAppsByIDResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -32,35 +32,35 @@ type GetSteeringAppsPrivatePrivateAppIDResponse struct { PrivateAppsResponse400 *shared.PrivateAppsResponse400 } -func (o *GetSteeringAppsPrivatePrivateAppIDResponse) GetContentType() string { +func (o *GetNPAAppsByIDResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetSteeringAppsPrivatePrivateAppIDResponse) GetStatusCode() int { +func (o *GetNPAAppsByIDResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetSteeringAppsPrivatePrivateAppIDResponse) GetRawResponse() *http.Response { +func (o *GetNPAAppsByIDResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetSteeringAppsPrivatePrivateAppIDResponse) GetPrivateAppsResponse() *shared.PrivateAppsResponse { +func (o *GetNPAAppsByIDResponse) GetPrivateAppsResponse() *shared.PrivateAppsResponse { if o == nil { return nil } return o.PrivateAppsResponse } -func (o *GetSteeringAppsPrivatePrivateAppIDResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { +func (o *GetNPAAppsByIDResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/getpolicynpapolicygroups.go b/internal/sdk/models/operations/getnpapolicygroups.go similarity index 67% rename from internal/sdk/pkg/models/operations/getpolicynpapolicygroups.go rename to internal/sdk/models/operations/getnpapolicygroups.go index 7085b89..c8fbe29 100644 --- a/internal/sdk/pkg/models/operations/getpolicynpapolicygroups.go +++ b/internal/sdk/models/operations/getnpapolicygroups.go @@ -3,11 +3,11 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetPolicyNpaPolicygroupsRequest struct { +type GetNPAPolicyGroupsRequest struct { // Return values only from specified fields Fields *string `queryParam:"style=form,explode=true,name=fields"` // Query string based on query operaters @@ -22,49 +22,49 @@ type GetPolicyNpaPolicygroupsRequest struct { Sortorder *string `queryParam:"style=form,explode=true,name=sortorder"` } -func (o *GetPolicyNpaPolicygroupsRequest) GetFields() *string { +func (o *GetNPAPolicyGroupsRequest) GetFields() *string { if o == nil { return nil } return o.Fields } -func (o *GetPolicyNpaPolicygroupsRequest) GetFilter() *string { +func (o *GetNPAPolicyGroupsRequest) GetFilter() *string { if o == nil { return nil } return o.Filter } -func (o *GetPolicyNpaPolicygroupsRequest) GetLimit() *int64 { +func (o *GetNPAPolicyGroupsRequest) GetLimit() *int64 { if o == nil { return nil } return o.Limit } -func (o *GetPolicyNpaPolicygroupsRequest) GetOffset() *int64 { +func (o *GetNPAPolicyGroupsRequest) GetOffset() *int64 { if o == nil { return nil } return o.Offset } -func (o *GetPolicyNpaPolicygroupsRequest) GetSortby() *string { +func (o *GetNPAPolicyGroupsRequest) GetSortby() *string { if o == nil { return nil } return o.Sortby } -func (o *GetPolicyNpaPolicygroupsRequest) GetSortorder() *string { +func (o *GetNPAPolicyGroupsRequest) GetSortorder() *string { if o == nil { return nil } return o.Sortorder } -type GetPolicyNpaPolicygroupsResponse struct { +type GetNPAPolicyGroupsResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -77,35 +77,35 @@ type GetPolicyNpaPolicygroupsResponse struct { NpaPolicygroupResponse400 *shared.NpaPolicygroupResponse400 } -func (o *GetPolicyNpaPolicygroupsResponse) GetContentType() string { +func (o *GetNPAPolicyGroupsResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetPolicyNpaPolicygroupsResponse) GetStatusCode() int { +func (o *GetNPAPolicyGroupsResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetPolicyNpaPolicygroupsResponse) GetRawResponse() *http.Response { +func (o *GetNPAPolicyGroupsResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetPolicyNpaPolicygroupsResponse) GetNpaPolicygroupResponse() *shared.NpaPolicygroupResponse { +func (o *GetNPAPolicyGroupsResponse) GetNpaPolicygroupResponse() *shared.NpaPolicygroupResponse { if o == nil { return nil } return o.NpaPolicygroupResponse } -func (o *GetPolicyNpaPolicygroupsResponse) GetNpaPolicygroupResponse400() *shared.NpaPolicygroupResponse400 { +func (o *GetNPAPolicyGroupsResponse) GetNpaPolicygroupResponse400() *shared.NpaPolicygroupResponse400 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/getpolicynpapolicygroupsid.go b/internal/sdk/models/operations/getnpapolicygroupsbyid.go similarity index 54% rename from internal/sdk/pkg/models/operations/getpolicynpapolicygroupsid.go rename to internal/sdk/models/operations/getnpapolicygroupsbyid.go index 99fe619..c954315 100644 --- a/internal/sdk/pkg/models/operations/getpolicynpapolicygroupsid.go +++ b/internal/sdk/models/operations/getnpapolicygroupsbyid.go @@ -3,35 +3,35 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetPolicyNpaPolicygroupsIDRequest struct { +type GetNPAPolicyGroupsByIDRequest struct { // npa policy group id ID string `pathParam:"style=simple,explode=false,name=id"` } -func (o *GetPolicyNpaPolicygroupsIDRequest) GetID() string { +func (o *GetNPAPolicyGroupsByIDRequest) GetID() string { if o == nil { return "" } return o.ID } -// GetPolicyNpaPolicygroupsIDResponseBody - successful operation -type GetPolicyNpaPolicygroupsIDResponseBody struct { +// GetNPAPolicyGroupsByIDResponseBody - successful operation +type GetNPAPolicyGroupsByIDResponseBody struct { Data *shared.NpaPolicygroupResponseItem `json:"data,omitempty"` } -func (o *GetPolicyNpaPolicygroupsIDResponseBody) GetData() *shared.NpaPolicygroupResponseItem { +func (o *GetNPAPolicyGroupsByIDResponseBody) GetData() *shared.NpaPolicygroupResponseItem { if o == nil { return nil } return o.Data } -type GetPolicyNpaPolicygroupsIDResponse struct { +type GetNPAPolicyGroupsByIDResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -39,40 +39,40 @@ type GetPolicyNpaPolicygroupsIDResponse struct { // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response // successful operation - Object *GetPolicyNpaPolicygroupsIDResponseBody + Object *GetNPAPolicyGroupsByIDResponseBody // Invalid request NpaPolicygroupResponse400 *shared.NpaPolicygroupResponse400 } -func (o *GetPolicyNpaPolicygroupsIDResponse) GetContentType() string { +func (o *GetNPAPolicyGroupsByIDResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetPolicyNpaPolicygroupsIDResponse) GetStatusCode() int { +func (o *GetNPAPolicyGroupsByIDResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetPolicyNpaPolicygroupsIDResponse) GetRawResponse() *http.Response { +func (o *GetNPAPolicyGroupsByIDResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetPolicyNpaPolicygroupsIDResponse) GetObject() *GetPolicyNpaPolicygroupsIDResponseBody { +func (o *GetNPAPolicyGroupsByIDResponse) GetObject() *GetNPAPolicyGroupsByIDResponseBody { if o == nil { return nil } return o.Object } -func (o *GetPolicyNpaPolicygroupsIDResponse) GetNpaPolicygroupResponse400() *shared.NpaPolicygroupResponse400 { +func (o *GetNPAPolicyGroupsByIDResponse) GetNpaPolicygroupResponse400() *shared.NpaPolicygroupResponse400 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/getpolicynparules.go b/internal/sdk/models/operations/getnpapolicyrules.go similarity index 72% rename from internal/sdk/pkg/models/operations/getpolicynparules.go rename to internal/sdk/models/operations/getnpapolicyrules.go index 9867904..573df7d 100644 --- a/internal/sdk/pkg/models/operations/getpolicynparules.go +++ b/internal/sdk/models/operations/getnpapolicyrules.go @@ -3,11 +3,11 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetPolicyNpaRulesRequest struct { +type GetNPAPolicyRulesRequest struct { // Return values only from specified fields Fields *string `queryParam:"style=form,explode=true,name=fields"` // Query string based on query operaters @@ -22,49 +22,49 @@ type GetPolicyNpaRulesRequest struct { Sortorder *string `queryParam:"style=form,explode=true,name=sortorder"` } -func (o *GetPolicyNpaRulesRequest) GetFields() *string { +func (o *GetNPAPolicyRulesRequest) GetFields() *string { if o == nil { return nil } return o.Fields } -func (o *GetPolicyNpaRulesRequest) GetFilter() *string { +func (o *GetNPAPolicyRulesRequest) GetFilter() *string { if o == nil { return nil } return o.Filter } -func (o *GetPolicyNpaRulesRequest) GetLimit() *int64 { +func (o *GetNPAPolicyRulesRequest) GetLimit() *int64 { if o == nil { return nil } return o.Limit } -func (o *GetPolicyNpaRulesRequest) GetOffset() *int64 { +func (o *GetNPAPolicyRulesRequest) GetOffset() *int64 { if o == nil { return nil } return o.Offset } -func (o *GetPolicyNpaRulesRequest) GetSortby() *string { +func (o *GetNPAPolicyRulesRequest) GetSortby() *string { if o == nil { return nil } return o.Sortby } -func (o *GetPolicyNpaRulesRequest) GetSortorder() *string { +func (o *GetNPAPolicyRulesRequest) GetSortorder() *string { if o == nil { return nil } return o.Sortorder } -type GetPolicyNpaRulesResponse struct { +type GetNPAPolicyRulesResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -77,35 +77,35 @@ type GetPolicyNpaRulesResponse struct { NpaPolicyResponse400 *shared.NpaPolicyResponse400 } -func (o *GetPolicyNpaRulesResponse) GetContentType() string { +func (o *GetNPAPolicyRulesResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetPolicyNpaRulesResponse) GetStatusCode() int { +func (o *GetNPAPolicyRulesResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetPolicyNpaRulesResponse) GetRawResponse() *http.Response { +func (o *GetNPAPolicyRulesResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetPolicyNpaRulesResponse) GetNpaPolicyListResponse() *shared.NpaPolicyListResponse { +func (o *GetNPAPolicyRulesResponse) GetNpaPolicyListResponse() *shared.NpaPolicyListResponse { if o == nil { return nil } return o.NpaPolicyListResponse } -func (o *GetPolicyNpaRulesResponse) GetNpaPolicyResponse400() *shared.NpaPolicyResponse400 { +func (o *GetNPAPolicyRulesResponse) GetNpaPolicyResponse400() *shared.NpaPolicyResponse400 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/getpolicynparulesid.go b/internal/sdk/models/operations/getnpapolicyrulesbyid.go similarity index 58% rename from internal/sdk/pkg/models/operations/getpolicynparulesid.go rename to internal/sdk/models/operations/getnpapolicyrulesbyid.go index 944f46f..b788071 100644 --- a/internal/sdk/pkg/models/operations/getpolicynparulesid.go +++ b/internal/sdk/models/operations/getnpapolicyrulesbyid.go @@ -3,44 +3,44 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetPolicyNpaRulesIDRequest struct { +type GetNPAPolicyRulesByIDRequest struct { // npa policy id ID string `pathParam:"style=simple,explode=false,name=id"` // Return values only from specified fields Fields *string `queryParam:"style=form,explode=true,name=fields"` } -func (o *GetPolicyNpaRulesIDRequest) GetID() string { +func (o *GetNPAPolicyRulesByIDRequest) GetID() string { if o == nil { return "" } return o.ID } -func (o *GetPolicyNpaRulesIDRequest) GetFields() *string { +func (o *GetNPAPolicyRulesByIDRequest) GetFields() *string { if o == nil { return nil } return o.Fields } -// GetPolicyNpaRulesIDResponseBody - successful operation -type GetPolicyNpaRulesIDResponseBody struct { +// GetNPAPolicyRulesByIDResponseBody - successful operation +type GetNPAPolicyRulesByIDResponseBody struct { Data *shared.NpaPolicyResponseItem `json:"data,omitempty"` } -func (o *GetPolicyNpaRulesIDResponseBody) GetData() *shared.NpaPolicyResponseItem { +func (o *GetNPAPolicyRulesByIDResponseBody) GetData() *shared.NpaPolicyResponseItem { if o == nil { return nil } return o.Data } -type GetPolicyNpaRulesIDResponse struct { +type GetNPAPolicyRulesByIDResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -48,40 +48,40 @@ type GetPolicyNpaRulesIDResponse struct { // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response // successful operation - Object *GetPolicyNpaRulesIDResponseBody + Object *GetNPAPolicyRulesByIDResponseBody // Invalid request NpaPolicyResponse400 *shared.NpaPolicyResponse400 } -func (o *GetPolicyNpaRulesIDResponse) GetContentType() string { +func (o *GetNPAPolicyRulesByIDResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetPolicyNpaRulesIDResponse) GetStatusCode() int { +func (o *GetNPAPolicyRulesByIDResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetPolicyNpaRulesIDResponse) GetRawResponse() *http.Response { +func (o *GetNPAPolicyRulesByIDResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetPolicyNpaRulesIDResponse) GetObject() *GetPolicyNpaRulesIDResponseBody { +func (o *GetNPAPolicyRulesByIDResponse) GetObject() *GetNPAPolicyRulesByIDResponseBody { if o == nil { return nil } return o.Object } -func (o *GetPolicyNpaRulesIDResponse) GetNpaPolicyResponse400() *shared.NpaPolicyResponse400 { +func (o *GetNPAPolicyRulesByIDResponse) GetNpaPolicyResponse400() *shared.NpaPolicyResponse400 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/putinfrastructurepublishersalertsconfiguration.go b/internal/sdk/models/operations/getnpapublisheralerts.go similarity index 58% rename from internal/sdk/pkg/models/operations/putinfrastructurepublishersalertsconfiguration.go rename to internal/sdk/models/operations/getnpapublisheralerts.go index b007907..4efa46b 100644 --- a/internal/sdk/pkg/models/operations/putinfrastructurepublishersalertsconfiguration.go +++ b/internal/sdk/models/operations/getnpapublisheralerts.go @@ -3,11 +3,11 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type PutInfrastructurePublishersAlertsconfigurationResponse struct { +type GetNPAPublisherAlertsResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -20,35 +20,35 @@ type PutInfrastructurePublishersAlertsconfigurationResponse struct { PublishersResponse400 *shared.PublishersResponse400 } -func (o *PutInfrastructurePublishersAlertsconfigurationResponse) GetContentType() string { +func (o *GetNPAPublisherAlertsResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *PutInfrastructurePublishersAlertsconfigurationResponse) GetStatusCode() int { +func (o *GetNPAPublisherAlertsResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *PutInfrastructurePublishersAlertsconfigurationResponse) GetRawResponse() *http.Response { +func (o *GetNPAPublisherAlertsResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *PutInfrastructurePublishersAlertsconfigurationResponse) GetPublishersAlertGetResponse() *shared.PublishersAlertGetResponse { +func (o *GetNPAPublisherAlertsResponse) GetPublishersAlertGetResponse() *shared.PublishersAlertGetResponse { if o == nil { return nil } return o.PublishersAlertGetResponse } -func (o *PutInfrastructurePublishersAlertsconfigurationResponse) GetPublishersResponse400() *shared.PublishersResponse400 { +func (o *GetNPAPublisherAlertsResponse) GetPublishersResponse400() *shared.PublishersResponse400 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/getinfrastructurepublisherspublisheridapps.go b/internal/sdk/models/operations/getnpapublisherapps.go similarity index 57% rename from internal/sdk/pkg/models/operations/getinfrastructurepublisherspublisheridapps.go rename to internal/sdk/models/operations/getnpapublisherapps.go index 12c04d0..c9139cc 100644 --- a/internal/sdk/pkg/models/operations/getinfrastructurepublisherspublisheridapps.go +++ b/internal/sdk/models/operations/getnpapublisherapps.go @@ -3,23 +3,23 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetInfrastructurePublishersPublisherIDAppsRequest struct { +type GetNPAPublisherAppsRequest struct { // publisher id PublisherID int `pathParam:"style=simple,explode=false,name=publisher_id"` } -func (o *GetInfrastructurePublishersPublisherIDAppsRequest) GetPublisherID() int { +func (o *GetNPAPublisherAppsRequest) GetPublisherID() int { if o == nil { return 0 } return o.PublisherID } -type GetInfrastructurePublishersPublisherIDAppsResponse struct { +type GetNPAPublisherAppsResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -32,35 +32,35 @@ type GetInfrastructurePublishersPublisherIDAppsResponse struct { PublishersResponse400 *shared.PublishersResponse400 } -func (o *GetInfrastructurePublishersPublisherIDAppsResponse) GetContentType() string { +func (o *GetNPAPublisherAppsResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetInfrastructurePublishersPublisherIDAppsResponse) GetStatusCode() int { +func (o *GetNPAPublisherAppsResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetInfrastructurePublishersPublisherIDAppsResponse) GetRawResponse() *http.Response { +func (o *GetNPAPublisherAppsResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetInfrastructurePublishersPublisherIDAppsResponse) GetPublisherAppsListResponse() *shared.PublisherAppsListResponse { +func (o *GetNPAPublisherAppsResponse) GetPublisherAppsListResponse() *shared.PublisherAppsListResponse { if o == nil { return nil } return o.PublisherAppsListResponse } -func (o *GetInfrastructurePublishersPublisherIDAppsResponse) GetPublishersResponse400() *shared.PublishersResponse400 { +func (o *GetNPAPublisherAppsResponse) GetPublishersResponse400() *shared.PublishersResponse400 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/getinfrastructurepublisherspublisherid.go b/internal/sdk/models/operations/getnpapublisherbyid.go similarity index 58% rename from internal/sdk/pkg/models/operations/getinfrastructurepublisherspublisherid.go rename to internal/sdk/models/operations/getnpapublisherbyid.go index 590848a..f83934c 100644 --- a/internal/sdk/pkg/models/operations/getinfrastructurepublisherspublisherid.go +++ b/internal/sdk/models/operations/getnpapublisherbyid.go @@ -3,23 +3,23 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetInfrastructurePublishersPublisherIDRequest struct { +type GetNPAPublisherByIDRequest struct { // publisher id PublisherID int `pathParam:"style=simple,explode=false,name=publisher_id"` } -func (o *GetInfrastructurePublishersPublisherIDRequest) GetPublisherID() int { +func (o *GetNPAPublisherByIDRequest) GetPublisherID() int { if o == nil { return 0 } return o.PublisherID } -type GetInfrastructurePublishersPublisherIDResponse struct { +type GetNPAPublisherByIDResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -32,35 +32,35 @@ type GetInfrastructurePublishersPublisherIDResponse struct { PublishersResponse400 *shared.PublishersResponse400 } -func (o *GetInfrastructurePublishersPublisherIDResponse) GetContentType() string { +func (o *GetNPAPublisherByIDResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetInfrastructurePublishersPublisherIDResponse) GetStatusCode() int { +func (o *GetNPAPublisherByIDResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetInfrastructurePublishersPublisherIDResponse) GetRawResponse() *http.Response { +func (o *GetNPAPublisherByIDResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetInfrastructurePublishersPublisherIDResponse) GetPublisherResponse() *shared.PublisherResponse { +func (o *GetNPAPublisherByIDResponse) GetPublisherResponse() *shared.PublisherResponse { if o == nil { return nil } return o.PublisherResponse } -func (o *GetInfrastructurePublishersPublisherIDResponse) GetPublishersResponse400() *shared.PublishersResponse400 { +func (o *GetNPAPublisherByIDResponse) GetPublishersResponse400() *shared.PublishersResponse400 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/getinfrastructurepublishersreleases.go b/internal/sdk/models/operations/getnpapublisherobjects.go similarity index 59% rename from internal/sdk/pkg/models/operations/getinfrastructurepublishersreleases.go rename to internal/sdk/models/operations/getnpapublisherobjects.go index 3bf840f..2720d2b 100644 --- a/internal/sdk/pkg/models/operations/getinfrastructurepublishersreleases.go +++ b/internal/sdk/models/operations/getnpapublisherobjects.go @@ -3,23 +3,23 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetInfrastructurePublishersReleasesRequest struct { +type GetNPAPublisherObjectsRequest struct { // Return values only from specified fields Fields *string `queryParam:"style=form,explode=true,name=fields"` } -func (o *GetInfrastructurePublishersReleasesRequest) GetFields() *string { +func (o *GetNPAPublisherObjectsRequest) GetFields() *string { if o == nil { return nil } return o.Fields } -type GetInfrastructurePublishersReleasesResponse struct { +type GetNPAPublisherObjectsResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -32,35 +32,35 @@ type GetInfrastructurePublishersReleasesResponse struct { PublishersResponse400 *shared.PublishersResponse400 } -func (o *GetInfrastructurePublishersReleasesResponse) GetContentType() string { +func (o *GetNPAPublisherObjectsResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetInfrastructurePublishersReleasesResponse) GetStatusCode() int { +func (o *GetNPAPublisherObjectsResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetInfrastructurePublishersReleasesResponse) GetRawResponse() *http.Response { +func (o *GetNPAPublisherObjectsResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetInfrastructurePublishersReleasesResponse) GetPublishersReleaseGetResponse() *shared.PublishersReleaseGetResponse { +func (o *GetNPAPublisherObjectsResponse) GetPublishersReleaseGetResponse() *shared.PublishersReleaseGetResponse { if o == nil { return nil } return o.PublishersReleaseGetResponse } -func (o *GetInfrastructurePublishersReleasesResponse) GetPublishersResponse400() *shared.PublishersResponse400 { +func (o *GetNPAPublisherObjectsResponse) GetPublishersResponse400() *shared.PublishersResponse400 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/getinfrastructurepublishers.go b/internal/sdk/models/operations/getnpapublishers.go similarity index 62% rename from internal/sdk/pkg/models/operations/getinfrastructurepublishers.go rename to internal/sdk/models/operations/getnpapublishers.go index 3f51a8f..6ff99e8 100644 --- a/internal/sdk/pkg/models/operations/getinfrastructurepublishers.go +++ b/internal/sdk/models/operations/getnpapublishers.go @@ -3,23 +3,23 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetInfrastructurePublishersRequest struct { +type GetNPAPublishersRequest struct { // Return values only from specified fields Fields *string `queryParam:"style=form,explode=true,name=fields"` } -func (o *GetInfrastructurePublishersRequest) GetFields() *string { +func (o *GetNPAPublishersRequest) GetFields() *string { if o == nil { return nil } return o.Fields } -type GetInfrastructurePublishersResponse struct { +type GetNPAPublishersResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -32,35 +32,35 @@ type GetInfrastructurePublishersResponse struct { PublishersResponse400 *shared.PublishersResponse400 } -func (o *GetInfrastructurePublishersResponse) GetContentType() string { +func (o *GetNPAPublishersResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetInfrastructurePublishersResponse) GetStatusCode() int { +func (o *GetNPAPublishersResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetInfrastructurePublishersResponse) GetRawResponse() *http.Response { +func (o *GetNPAPublishersResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetInfrastructurePublishersResponse) GetPublishersGetResponse() *shared.PublishersGetResponse { +func (o *GetNPAPublishersResponse) GetPublishersGetResponse() *shared.PublishersGetResponse { if o == nil { return nil } return o.PublishersGetResponse } -func (o *GetInfrastructurePublishersResponse) GetPublishersResponse400() *shared.PublishersResponse400 { +func (o *GetNPAPublishersResponse) GetPublishersResponse400() *shared.PublishersResponse400 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofilesupgradeprofileid.go b/internal/sdk/models/operations/getnpapublisherupgradeprofiles.go similarity index 54% rename from internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofilesupgradeprofileid.go rename to internal/sdk/models/operations/getnpapublisherupgradeprofiles.go index 85c37d7..d3faf58 100644 --- a/internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofilesupgradeprofileid.go +++ b/internal/sdk/models/operations/getnpapublisherupgradeprofiles.go @@ -3,23 +3,23 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest struct { +type GetNPAPublisherUpgradeProfilesRequest struct { // publisher upgrade profile id UpgradeProfileID int `pathParam:"style=simple,explode=false,name=upgrade_profile_id"` } -func (o *GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) GetUpgradeProfileID() int { +func (o *GetNPAPublisherUpgradeProfilesRequest) GetUpgradeProfileID() int { if o == nil { return 0 } return o.UpgradeProfileID } -type GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse struct { +type GetNPAPublisherUpgradeProfilesResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -32,35 +32,35 @@ type GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse struct { FourHundred *shared.FourHundred } -func (o *GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetContentType() string { +func (o *GetNPAPublisherUpgradeProfilesResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetStatusCode() int { +func (o *GetNPAPublisherUpgradeProfilesResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetRawResponse() *http.Response { +func (o *GetNPAPublisherUpgradeProfilesResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetPublisherUpgradeProfileResponse() *shared.PublisherUpgradeProfileResponse { +func (o *GetNPAPublisherUpgradeProfilesResponse) GetPublisherUpgradeProfileResponse() *shared.PublisherUpgradeProfileResponse { if o == nil { return nil } return o.PublisherUpgradeProfileResponse } -func (o *GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetFourHundred() *shared.FourHundred { +func (o *GetNPAPublisherUpgradeProfilesResponse) GetFourHundred() *shared.FourHundred { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/patchsteeringappsprivatetags.go b/internal/sdk/models/operations/getnpatags.go similarity index 62% rename from internal/sdk/pkg/models/operations/patchsteeringappsprivatetags.go rename to internal/sdk/models/operations/getnpatags.go index b76495c..13c02d5 100644 --- a/internal/sdk/pkg/models/operations/patchsteeringappsprivatetags.go +++ b/internal/sdk/models/operations/getnpatags.go @@ -3,11 +3,11 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type PatchSteeringAppsPrivateTagsResponse struct { +type GetNPATagsResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -20,35 +20,35 @@ type PatchSteeringAppsPrivateTagsResponse struct { TagResponse400 *shared.TagResponse400 } -func (o *PatchSteeringAppsPrivateTagsResponse) GetContentType() string { +func (o *GetNPATagsResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *PatchSteeringAppsPrivateTagsResponse) GetStatusCode() int { +func (o *GetNPATagsResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *PatchSteeringAppsPrivateTagsResponse) GetRawResponse() *http.Response { +func (o *GetNPATagsResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *PatchSteeringAppsPrivateTagsResponse) GetTagResponse() *shared.TagResponse { +func (o *GetNPATagsResponse) GetTagResponse() *shared.TagResponse { if o == nil { return nil } return o.TagResponse } -func (o *PatchSteeringAppsPrivateTagsResponse) GetTagResponse400() *shared.TagResponse400 { +func (o *GetNPATagsResponse) GetTagResponse400() *shared.TagResponse400 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/getsteeringappsprivatetagstagid.go b/internal/sdk/models/operations/getnpatagsbyid.go similarity index 60% rename from internal/sdk/pkg/models/operations/getsteeringappsprivatetagstagid.go rename to internal/sdk/models/operations/getnpatagsbyid.go index 1d31b6c..63f4f39 100644 --- a/internal/sdk/pkg/models/operations/getsteeringappsprivatetagstagid.go +++ b/internal/sdk/models/operations/getnpatagsbyid.go @@ -3,23 +3,23 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetSteeringAppsPrivateTagsTagIDRequest struct { +type GetNPATagsByIDRequest struct { // tag id TagID int `pathParam:"style=simple,explode=false,name=tag_id"` } -func (o *GetSteeringAppsPrivateTagsTagIDRequest) GetTagID() int { +func (o *GetNPATagsByIDRequest) GetTagID() int { if o == nil { return 0 } return o.TagID } -type GetSteeringAppsPrivateTagsTagIDResponse struct { +type GetNPATagsByIDResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -32,35 +32,35 @@ type GetSteeringAppsPrivateTagsTagIDResponse struct { TagResponse400 *shared.TagResponse400 } -func (o *GetSteeringAppsPrivateTagsTagIDResponse) GetContentType() string { +func (o *GetNPATagsByIDResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetSteeringAppsPrivateTagsTagIDResponse) GetStatusCode() int { +func (o *GetNPATagsByIDResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetSteeringAppsPrivateTagsTagIDResponse) GetRawResponse() *http.Response { +func (o *GetNPATagsByIDResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetSteeringAppsPrivateTagsTagIDResponse) GetTagResponse() *shared.TagResponse { +func (o *GetNPATagsByIDResponse) GetTagResponse() *shared.TagResponse { if o == nil { return nil } return o.TagResponse } -func (o *GetSteeringAppsPrivateTagsTagIDResponse) GetTagResponse400() *shared.TagResponse400 { +func (o *GetNPATagsByIDResponse) GetTagResponse400() *shared.TagResponse400 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofiles.go b/internal/sdk/models/operations/getpublisherupgradeprofiles.go similarity index 58% rename from internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofiles.go rename to internal/sdk/models/operations/getpublisherupgradeprofiles.go index 4b540a9..0c610f5 100644 --- a/internal/sdk/pkg/models/operations/getinfrastructurepublisherupgradeprofiles.go +++ b/internal/sdk/models/operations/getpublisherupgradeprofiles.go @@ -3,23 +3,23 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type GetInfrastructurePublisherupgradeprofilesRequest struct { +type GetPublisherUpgradeProfilesRequest struct { // Return values only from specified fields Fields *string `queryParam:"style=form,explode=true,name=fields"` } -func (o *GetInfrastructurePublisherupgradeprofilesRequest) GetFields() *string { +func (o *GetPublisherUpgradeProfilesRequest) GetFields() *string { if o == nil { return nil } return o.Fields } -type GetInfrastructurePublisherupgradeprofilesResponse struct { +type GetPublisherUpgradeProfilesResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -32,35 +32,35 @@ type GetInfrastructurePublisherupgradeprofilesResponse struct { FourHundred *shared.FourHundred } -func (o *GetInfrastructurePublisherupgradeprofilesResponse) GetContentType() string { +func (o *GetPublisherUpgradeProfilesResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *GetInfrastructurePublisherupgradeprofilesResponse) GetStatusCode() int { +func (o *GetPublisherUpgradeProfilesResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *GetInfrastructurePublisherupgradeprofilesResponse) GetRawResponse() *http.Response { +func (o *GetPublisherUpgradeProfilesResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *GetInfrastructurePublisherupgradeprofilesResponse) GetPublisherUpgradeProfileGetResponse() *shared.PublisherUpgradeProfileGetResponse { +func (o *GetPublisherUpgradeProfilesResponse) GetPublisherUpgradeProfileGetResponse() *shared.PublisherUpgradeProfileGetResponse { if o == nil { return nil } return o.PublisherUpgradeProfileGetResponse } -func (o *GetInfrastructurePublisherupgradeprofilesResponse) GetFourHundred() *shared.FourHundred { +func (o *GetPublisherUpgradeProfilesResponse) GetFourHundred() *shared.FourHundred { if o == nil { return nil } diff --git a/internal/sdk/models/operations/getscimgroups.go b/internal/sdk/models/operations/getscimgroups.go new file mode 100644 index 0000000..926eff4 --- /dev/null +++ b/internal/sdk/models/operations/getscimgroups.go @@ -0,0 +1,301 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "net/http" +) + +type GetSCIMGroupsRequest struct { + // key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" + Filter *string `queryParam:"style=form,explode=true,name=filter"` + StartIndex *int64 `queryParam:"style=form,explode=true,name=startIndex"` + Count *int64 `queryParam:"style=form,explode=true,name=count"` +} + +func (o *GetSCIMGroupsRequest) GetFilter() *string { + if o == nil { + return nil + } + return o.Filter +} + +func (o *GetSCIMGroupsRequest) GetStartIndex() *int64 { + if o == nil { + return nil + } + return o.StartIndex +} + +func (o *GetSCIMGroupsRequest) GetCount() *int64 { + if o == nil { + return nil + } + return o.Count +} + +type GetSCIMGroupsSCIMGroupsStatus string + +const ( + GetSCIMGroupsSCIMGroupsStatusFailed GetSCIMGroupsSCIMGroupsStatus = "failed" + GetSCIMGroupsSCIMGroupsStatusFiveHundredAndOne GetSCIMGroupsSCIMGroupsStatus = "501" +) + +func (e GetSCIMGroupsSCIMGroupsStatus) ToPointer() *GetSCIMGroupsSCIMGroupsStatus { + return &e +} + +func (e *GetSCIMGroupsSCIMGroupsStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "failed": + fallthrough + case "501": + *e = GetSCIMGroupsSCIMGroupsStatus(v) + return nil + default: + return fmt.Errorf("invalid value for GetSCIMGroupsSCIMGroupsStatus: %v", v) + } +} + +// GetSCIMGroupsSCIMGroupsResponse501ResponseBody - Internal error Failed +type GetSCIMGroupsSCIMGroupsResponse501ResponseBody struct { + Status *GetSCIMGroupsSCIMGroupsStatus `json:"status,omitempty"` + Schemas *string `json:"schemas,omitempty"` + Detail *string `json:"detail,omitempty"` +} + +func (o *GetSCIMGroupsSCIMGroupsResponse501ResponseBody) GetStatus() *GetSCIMGroupsSCIMGroupsStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *GetSCIMGroupsSCIMGroupsResponse501ResponseBody) GetSchemas() *string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *GetSCIMGroupsSCIMGroupsResponse501ResponseBody) GetDetail() *string { + if o == nil { + return nil + } + return o.Detail +} + +// GetSCIMGroupsSCIMGroupsResponseResponseBody - Not authorized to execte the specific API. +type GetSCIMGroupsSCIMGroupsResponseResponseBody struct { + Message *string `json:"message,omitempty"` +} + +func (o *GetSCIMGroupsSCIMGroupsResponseResponseBody) GetMessage() *string { + if o == nil { + return nil + } + return o.Message +} + +type GetSCIMGroupsStatus string + +const ( + GetSCIMGroupsStatusFourHundred GetSCIMGroupsStatus = "400" + GetSCIMGroupsStatusFailed GetSCIMGroupsStatus = "failed" +) + +func (e GetSCIMGroupsStatus) ToPointer() *GetSCIMGroupsStatus { + return &e +} + +func (e *GetSCIMGroupsStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "400": + fallthrough + case "failed": + *e = GetSCIMGroupsStatus(v) + return nil + default: + return fmt.Errorf("invalid value for GetSCIMGroupsStatus: %v", v) + } +} + +// GetSCIMGroupsSCIMGroupsResponseBody - Failed +type GetSCIMGroupsSCIMGroupsResponseBody struct { + Status *GetSCIMGroupsStatus `json:"status,omitempty"` + Description *string `json:"description,omitempty"` + // schema of the resource + Schemas []string `json:"schemas,omitempty"` +} + +func (o *GetSCIMGroupsSCIMGroupsResponseBody) GetStatus() *GetSCIMGroupsStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *GetSCIMGroupsSCIMGroupsResponseBody) GetDescription() *string { + if o == nil { + return nil + } + return o.Description +} + +func (o *GetSCIMGroupsSCIMGroupsResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +type GetSCIMGroupsResources struct { + // SCIM Group ID + ID *string `json:"id,omitempty"` + // Display name for group. + DisplayName *string `json:"displayName,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` +} + +func (o *GetSCIMGroupsResources) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *GetSCIMGroupsResources) GetDisplayName() *string { + if o == nil { + return nil + } + return o.DisplayName +} + +func (o *GetSCIMGroupsResources) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +// GetSCIMGroupsResponseBody - Successfull. +type GetSCIMGroupsResponseBody struct { + // schema of the resource + Schemas []string `json:"schemas,omitempty"` + TotalResults *int64 `json:"totalResults,omitempty"` + StartIndex *int64 `json:"startIndex,omitempty"` + ItemsPerPage *int64 `json:"itemsPerPage,omitempty"` + Resources []GetSCIMGroupsResources `json:"Resources,omitempty"` +} + +func (o *GetSCIMGroupsResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *GetSCIMGroupsResponseBody) GetTotalResults() *int64 { + if o == nil { + return nil + } + return o.TotalResults +} + +func (o *GetSCIMGroupsResponseBody) GetStartIndex() *int64 { + if o == nil { + return nil + } + return o.StartIndex +} + +func (o *GetSCIMGroupsResponseBody) GetItemsPerPage() *int64 { + if o == nil { + return nil + } + return o.ItemsPerPage +} + +func (o *GetSCIMGroupsResponseBody) GetResources() []GetSCIMGroupsResources { + if o == nil { + return nil + } + return o.Resources +} + +type GetSCIMGroupsResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successfull. + TwoHundredApplicationJSONObject *GetSCIMGroupsResponseBody + // Failed + FourHundredApplicationJSONObject *GetSCIMGroupsSCIMGroupsResponseBody + // Not authorized to execte the specific API. + FourHundredAndThreeApplicationJSONObject *GetSCIMGroupsSCIMGroupsResponseResponseBody + // Internal error Failed + FiveHundredAndOneApplicationJSONObject *GetSCIMGroupsSCIMGroupsResponse501ResponseBody +} + +func (o *GetSCIMGroupsResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetSCIMGroupsResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetSCIMGroupsResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetSCIMGroupsResponse) GetTwoHundredApplicationJSONObject() *GetSCIMGroupsResponseBody { + if o == nil { + return nil + } + return o.TwoHundredApplicationJSONObject +} + +func (o *GetSCIMGroupsResponse) GetFourHundredApplicationJSONObject() *GetSCIMGroupsSCIMGroupsResponseBody { + if o == nil { + return nil + } + return o.FourHundredApplicationJSONObject +} + +func (o *GetSCIMGroupsResponse) GetFourHundredAndThreeApplicationJSONObject() *GetSCIMGroupsSCIMGroupsResponseResponseBody { + if o == nil { + return nil + } + return o.FourHundredAndThreeApplicationJSONObject +} + +func (o *GetSCIMGroupsResponse) GetFiveHundredAndOneApplicationJSONObject() *GetSCIMGroupsSCIMGroupsResponse501ResponseBody { + if o == nil { + return nil + } + return o.FiveHundredAndOneApplicationJSONObject +} diff --git a/internal/sdk/models/operations/getscimgroupsbyid.go b/internal/sdk/models/operations/getscimgroupsbyid.go new file mode 100644 index 0000000..3398410 --- /dev/null +++ b/internal/sdk/models/operations/getscimgroupsbyid.go @@ -0,0 +1,250 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "net/http" +) + +type GetSCIMGroupsByIDRequest struct { + // SCIM Group ID required. + ID string `pathParam:"style=simple,explode=false,name=id"` +} + +func (o *GetSCIMGroupsByIDRequest) GetID() string { + if o == nil { + return "" + } + return o.ID +} + +type GetSCIMGroupsByIDStatus string + +const ( + GetSCIMGroupsByIDStatusFailed GetSCIMGroupsByIDStatus = "failed" + GetSCIMGroupsByIDStatusFiveHundredAndOne GetSCIMGroupsByIDStatus = "501" +) + +func (e GetSCIMGroupsByIDStatus) ToPointer() *GetSCIMGroupsByIDStatus { + return &e +} + +func (e *GetSCIMGroupsByIDStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "failed": + fallthrough + case "501": + *e = GetSCIMGroupsByIDStatus(v) + return nil + default: + return fmt.Errorf("invalid value for GetSCIMGroupsByIDStatus: %v", v) + } +} + +// GetSCIMGroupsByIDSCIMGroupsResponseResponseBody - Internal error Failed +type GetSCIMGroupsByIDSCIMGroupsResponseResponseBody struct { + Status *GetSCIMGroupsByIDStatus `json:"status,omitempty"` + Schemas *string `json:"schemas,omitempty"` + Detail *string `json:"detail,omitempty"` +} + +func (o *GetSCIMGroupsByIDSCIMGroupsResponseResponseBody) GetStatus() *GetSCIMGroupsByIDStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *GetSCIMGroupsByIDSCIMGroupsResponseResponseBody) GetSchemas() *string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *GetSCIMGroupsByIDSCIMGroupsResponseResponseBody) GetDetail() *string { + if o == nil { + return nil + } + return o.Detail +} + +// GetSCIMGroupsByIDSCIMGroupsResponseBody - Not authorized to execte the specific API. +type GetSCIMGroupsByIDSCIMGroupsResponseBody struct { + Message *string `json:"message,omitempty"` +} + +func (o *GetSCIMGroupsByIDSCIMGroupsResponseBody) GetMessage() *string { + if o == nil { + return nil + } + return o.Message +} + +type GetSCIMGroupsByIDSchemas string + +const ( + GetSCIMGroupsByIDSchemasUrnIetfParamsScimSchemasCore20Group GetSCIMGroupsByIDSchemas = "urn:ietf:params:scim:schemas:core:2.0:Group" +) + +func (e GetSCIMGroupsByIDSchemas) ToPointer() *GetSCIMGroupsByIDSchemas { + return &e +} + +func (e *GetSCIMGroupsByIDSchemas) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "urn:ietf:params:scim:schemas:core:2.0:Group": + *e = GetSCIMGroupsByIDSchemas(v) + return nil + default: + return fmt.Errorf("invalid value for GetSCIMGroupsByIDSchemas: %v", v) + } +} + +type GetSCIMGroupsByIDMembers struct { + Value *string `json:"value,omitempty"` +} + +func (o *GetSCIMGroupsByIDMembers) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +// GetSCIMGroupsByIDMeta - meta information +type GetSCIMGroupsByIDMeta struct { + // resource type User/Group. + ResourceType *string `json:"resourceType,omitempty"` +} + +func (o *GetSCIMGroupsByIDMeta) GetResourceType() *string { + if o == nil { + return nil + } + return o.ResourceType +} + +// GetSCIMGroupsByIDResponseBody - Successfully deleted the User. +type GetSCIMGroupsByIDResponseBody struct { + // SCIM Group ID + ID *string `json:"id,omitempty"` + // schema of the resource + Schemas []GetSCIMGroupsByIDSchemas `json:"schemas,omitempty"` + // Display name for group. + DisplayName *string `json:"displayName,omitempty"` + Members []GetSCIMGroupsByIDMembers `json:"members,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` + // meta information + Meta *GetSCIMGroupsByIDMeta `json:"meta,omitempty"` +} + +func (o *GetSCIMGroupsByIDResponseBody) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *GetSCIMGroupsByIDResponseBody) GetSchemas() []GetSCIMGroupsByIDSchemas { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *GetSCIMGroupsByIDResponseBody) GetDisplayName() *string { + if o == nil { + return nil + } + return o.DisplayName +} + +func (o *GetSCIMGroupsByIDResponseBody) GetMembers() []GetSCIMGroupsByIDMembers { + if o == nil { + return nil + } + return o.Members +} + +func (o *GetSCIMGroupsByIDResponseBody) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +func (o *GetSCIMGroupsByIDResponseBody) GetMeta() *GetSCIMGroupsByIDMeta { + if o == nil { + return nil + } + return o.Meta +} + +type GetSCIMGroupsByIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successfully deleted the User. + TwoHundredApplicationJSONObject *GetSCIMGroupsByIDResponseBody + // Not authorized to execte the specific API. + FourHundredAndThreeApplicationJSONObject *GetSCIMGroupsByIDSCIMGroupsResponseBody + // Internal error Failed + FiveHundredAndOneApplicationJSONObject *GetSCIMGroupsByIDSCIMGroupsResponseResponseBody +} + +func (o *GetSCIMGroupsByIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetSCIMGroupsByIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetSCIMGroupsByIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetSCIMGroupsByIDResponse) GetTwoHundredApplicationJSONObject() *GetSCIMGroupsByIDResponseBody { + if o == nil { + return nil + } + return o.TwoHundredApplicationJSONObject +} + +func (o *GetSCIMGroupsByIDResponse) GetFourHundredAndThreeApplicationJSONObject() *GetSCIMGroupsByIDSCIMGroupsResponseBody { + if o == nil { + return nil + } + return o.FourHundredAndThreeApplicationJSONObject +} + +func (o *GetSCIMGroupsByIDResponse) GetFiveHundredAndOneApplicationJSONObject() *GetSCIMGroupsByIDSCIMGroupsResponseResponseBody { + if o == nil { + return nil + } + return o.FiveHundredAndOneApplicationJSONObject +} diff --git a/internal/sdk/models/operations/getscimusers.go b/internal/sdk/models/operations/getscimusers.go new file mode 100644 index 0000000..4c8999b --- /dev/null +++ b/internal/sdk/models/operations/getscimusers.go @@ -0,0 +1,368 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "net/http" +) + +type GetSCIMUsersRequest struct { + // key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" + Filter *string `queryParam:"style=form,explode=true,name=filter"` + StartIndex *int64 `queryParam:"style=form,explode=true,name=startIndex"` + Count *int64 `queryParam:"style=form,explode=true,name=count"` +} + +func (o *GetSCIMUsersRequest) GetFilter() *string { + if o == nil { + return nil + } + return o.Filter +} + +func (o *GetSCIMUsersRequest) GetStartIndex() *int64 { + if o == nil { + return nil + } + return o.StartIndex +} + +func (o *GetSCIMUsersRequest) GetCount() *int64 { + if o == nil { + return nil + } + return o.Count +} + +type GetSCIMUsersSCIMUsersStatus string + +const ( + GetSCIMUsersSCIMUsersStatusFailed GetSCIMUsersSCIMUsersStatus = "failed" + GetSCIMUsersSCIMUsersStatusFiveHundredAndOne GetSCIMUsersSCIMUsersStatus = "501" +) + +func (e GetSCIMUsersSCIMUsersStatus) ToPointer() *GetSCIMUsersSCIMUsersStatus { + return &e +} + +func (e *GetSCIMUsersSCIMUsersStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "failed": + fallthrough + case "501": + *e = GetSCIMUsersSCIMUsersStatus(v) + return nil + default: + return fmt.Errorf("invalid value for GetSCIMUsersSCIMUsersStatus: %v", v) + } +} + +// GetSCIMUsersSCIMUsersResponse501ResponseBody - Internal error Failed +type GetSCIMUsersSCIMUsersResponse501ResponseBody struct { + Status *GetSCIMUsersSCIMUsersStatus `json:"status,omitempty"` + Schemas *string `json:"schemas,omitempty"` + Detail *string `json:"detail,omitempty"` +} + +func (o *GetSCIMUsersSCIMUsersResponse501ResponseBody) GetStatus() *GetSCIMUsersSCIMUsersStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *GetSCIMUsersSCIMUsersResponse501ResponseBody) GetSchemas() *string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *GetSCIMUsersSCIMUsersResponse501ResponseBody) GetDetail() *string { + if o == nil { + return nil + } + return o.Detail +} + +// GetSCIMUsersSCIMUsersResponseResponseBody - Not authorized to execte the specific API. +type GetSCIMUsersSCIMUsersResponseResponseBody struct { + Message *string `json:"message,omitempty"` +} + +func (o *GetSCIMUsersSCIMUsersResponseResponseBody) GetMessage() *string { + if o == nil { + return nil + } + return o.Message +} + +type GetSCIMUsersStatus string + +const ( + GetSCIMUsersStatusFourHundred GetSCIMUsersStatus = "400" + GetSCIMUsersStatusFailed GetSCIMUsersStatus = "failed" +) + +func (e GetSCIMUsersStatus) ToPointer() *GetSCIMUsersStatus { + return &e +} + +func (e *GetSCIMUsersStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "400": + fallthrough + case "failed": + *e = GetSCIMUsersStatus(v) + return nil + default: + return fmt.Errorf("invalid value for GetSCIMUsersStatus: %v", v) + } +} + +// GetSCIMUsersSCIMUsersResponseBody - Failed +type GetSCIMUsersSCIMUsersResponseBody struct { + Status *GetSCIMUsersStatus `json:"status,omitempty"` + Description *string `json:"description,omitempty"` + // schema of the resource + Schemas []string `json:"schemas,omitempty"` +} + +func (o *GetSCIMUsersSCIMUsersResponseBody) GetStatus() *GetSCIMUsersStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *GetSCIMUsersSCIMUsersResponseBody) GetDescription() *string { + if o == nil { + return nil + } + return o.Description +} + +func (o *GetSCIMUsersSCIMUsersResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +// GetSCIMUsersName - Family_name and given_name for the User +type GetSCIMUsersName struct { + // last_name of the SCIM User. + FamilyName *string `json:"familyName,omitempty"` + // first_name of the SCIM User. + GivenName *string `json:"givenName,omitempty"` +} + +func (o *GetSCIMUsersName) GetFamilyName() *string { + if o == nil { + return nil + } + return o.FamilyName +} + +func (o *GetSCIMUsersName) GetGivenName() *string { + if o == nil { + return nil + } + return o.GivenName +} + +type GetSCIMUsersEmails struct { + // Email ID of the SCIM user + Value *string `json:"value,omitempty"` + Primary *bool `json:"primary,omitempty"` +} + +func (o *GetSCIMUsersEmails) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +func (o *GetSCIMUsersEmails) GetPrimary() *bool { + if o == nil { + return nil + } + return o.Primary +} + +type Resources struct { + // SCIM User ID + ID *string `json:"id,omitempty"` + // UPN name of the SCIM User + UserName *string `json:"userName,omitempty"` + // Family_name and given_name for the User + Name *GetSCIMUsersName `json:"name,omitempty"` + Active *bool `json:"active,omitempty"` + Emails []GetSCIMUsersEmails `json:"emails,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` +} + +func (o *Resources) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *Resources) GetUserName() *string { + if o == nil { + return nil + } + return o.UserName +} + +func (o *Resources) GetName() *GetSCIMUsersName { + if o == nil { + return nil + } + return o.Name +} + +func (o *Resources) GetActive() *bool { + if o == nil { + return nil + } + return o.Active +} + +func (o *Resources) GetEmails() []GetSCIMUsersEmails { + if o == nil { + return nil + } + return o.Emails +} + +func (o *Resources) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +// GetSCIMUsersResponseBody - Successfully added/overwritten the User. +type GetSCIMUsersResponseBody struct { + // schema of the resource + Schemas []string `json:"schemas,omitempty"` + TotalResults *int64 `json:"totalResults,omitempty"` + StartIndex *int64 `json:"startIndex,omitempty"` + ItemsPerPage *int64 `json:"itemsPerPage,omitempty"` + Resources []Resources `json:"Resources,omitempty"` +} + +func (o *GetSCIMUsersResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *GetSCIMUsersResponseBody) GetTotalResults() *int64 { + if o == nil { + return nil + } + return o.TotalResults +} + +func (o *GetSCIMUsersResponseBody) GetStartIndex() *int64 { + if o == nil { + return nil + } + return o.StartIndex +} + +func (o *GetSCIMUsersResponseBody) GetItemsPerPage() *int64 { + if o == nil { + return nil + } + return o.ItemsPerPage +} + +func (o *GetSCIMUsersResponseBody) GetResources() []Resources { + if o == nil { + return nil + } + return o.Resources +} + +type GetSCIMUsersResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successfully added/overwritten the User. + TwoHundredApplicationJSONObject *GetSCIMUsersResponseBody + // Failed + FourHundredApplicationJSONObject *GetSCIMUsersSCIMUsersResponseBody + // Not authorized to execte the specific API. + FourHundredAndThreeApplicationJSONObject *GetSCIMUsersSCIMUsersResponseResponseBody + // Internal error Failed + FiveHundredAndOneApplicationJSONObject *GetSCIMUsersSCIMUsersResponse501ResponseBody +} + +func (o *GetSCIMUsersResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetSCIMUsersResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetSCIMUsersResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetSCIMUsersResponse) GetTwoHundredApplicationJSONObject() *GetSCIMUsersResponseBody { + if o == nil { + return nil + } + return o.TwoHundredApplicationJSONObject +} + +func (o *GetSCIMUsersResponse) GetFourHundredApplicationJSONObject() *GetSCIMUsersSCIMUsersResponseBody { + if o == nil { + return nil + } + return o.FourHundredApplicationJSONObject +} + +func (o *GetSCIMUsersResponse) GetFourHundredAndThreeApplicationJSONObject() *GetSCIMUsersSCIMUsersResponseResponseBody { + if o == nil { + return nil + } + return o.FourHundredAndThreeApplicationJSONObject +} + +func (o *GetSCIMUsersResponse) GetFiveHundredAndOneApplicationJSONObject() *GetSCIMUsersSCIMUsersResponse501ResponseBody { + if o == nil { + return nil + } + return o.FiveHundredAndOneApplicationJSONObject +} diff --git a/internal/sdk/models/operations/getscimusersbyid.go b/internal/sdk/models/operations/getscimusersbyid.go new file mode 100644 index 0000000..eaf47d1 --- /dev/null +++ b/internal/sdk/models/operations/getscimusersbyid.go @@ -0,0 +1,298 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "net/http" +) + +type GetSCIMUsersByIDRequest struct { + // SCIM Used ID should be specified + ID string `pathParam:"style=simple,explode=false,name=id"` +} + +func (o *GetSCIMUsersByIDRequest) GetID() string { + if o == nil { + return "" + } + return o.ID +} + +type GetSCIMUsersByIDStatus string + +const ( + GetSCIMUsersByIDStatusFailed GetSCIMUsersByIDStatus = "failed" + GetSCIMUsersByIDStatusFiveHundredAndOne GetSCIMUsersByIDStatus = "501" +) + +func (e GetSCIMUsersByIDStatus) ToPointer() *GetSCIMUsersByIDStatus { + return &e +} + +func (e *GetSCIMUsersByIDStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "failed": + fallthrough + case "501": + *e = GetSCIMUsersByIDStatus(v) + return nil + default: + return fmt.Errorf("invalid value for GetSCIMUsersByIDStatus: %v", v) + } +} + +// GetSCIMUsersByIDSCIMUsersResponseResponseBody - Internal error Failed +type GetSCIMUsersByIDSCIMUsersResponseResponseBody struct { + Status *GetSCIMUsersByIDStatus `json:"status,omitempty"` + Schemas *string `json:"schemas,omitempty"` + Detail *string `json:"detail,omitempty"` +} + +func (o *GetSCIMUsersByIDSCIMUsersResponseResponseBody) GetStatus() *GetSCIMUsersByIDStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *GetSCIMUsersByIDSCIMUsersResponseResponseBody) GetSchemas() *string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *GetSCIMUsersByIDSCIMUsersResponseResponseBody) GetDetail() *string { + if o == nil { + return nil + } + return o.Detail +} + +// GetSCIMUsersByIDSCIMUsersResponseBody - Not authorized to execte the specific API. +type GetSCIMUsersByIDSCIMUsersResponseBody struct { + Message *string `json:"message,omitempty"` +} + +func (o *GetSCIMUsersByIDSCIMUsersResponseBody) GetMessage() *string { + if o == nil { + return nil + } + return o.Message +} + +type GetSCIMUsersByIDSchemas string + +const ( + GetSCIMUsersByIDSchemasUrnIetfParamsScimSchemasCore20User GetSCIMUsersByIDSchemas = "urn:ietf:params:scim:schemas:core:2.0:User" +) + +func (e GetSCIMUsersByIDSchemas) ToPointer() *GetSCIMUsersByIDSchemas { + return &e +} + +func (e *GetSCIMUsersByIDSchemas) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "urn:ietf:params:scim:schemas:core:2.0:User": + *e = GetSCIMUsersByIDSchemas(v) + return nil + default: + return fmt.Errorf("invalid value for GetSCIMUsersByIDSchemas: %v", v) + } +} + +// GetSCIMUsersByIDName - Family_name and given_name for the User +type GetSCIMUsersByIDName struct { + // last_name of the SCIM User. + FamilyName *string `json:"familyName,omitempty"` + // first_name of the SCIM User. + GivenName *string `json:"givenName,omitempty"` +} + +func (o *GetSCIMUsersByIDName) GetFamilyName() *string { + if o == nil { + return nil + } + return o.FamilyName +} + +func (o *GetSCIMUsersByIDName) GetGivenName() *string { + if o == nil { + return nil + } + return o.GivenName +} + +type GetSCIMUsersByIDEmails struct { + // Email ID of the SCIM user + Value *string `json:"value,omitempty"` + Primary *bool `json:"primary,omitempty"` +} + +func (o *GetSCIMUsersByIDEmails) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +func (o *GetSCIMUsersByIDEmails) GetPrimary() *bool { + if o == nil { + return nil + } + return o.Primary +} + +// GetSCIMUsersByIDMeta - meta information +type GetSCIMUsersByIDMeta struct { + // resource type User/Group. + ResourceType *string `json:"resourceType,omitempty"` +} + +func (o *GetSCIMUsersByIDMeta) GetResourceType() *string { + if o == nil { + return nil + } + return o.ResourceType +} + +// GetSCIMUsersByIDResponseBody - Successfully deleted the User. +type GetSCIMUsersByIDResponseBody struct { + // schema of the resource + Schemas []GetSCIMUsersByIDSchemas `json:"schemas,omitempty"` + // SCIM User ID + ID *string `json:"id,omitempty"` + // UPN name of the SCIM User + UserName *string `json:"userName,omitempty"` + // Family_name and given_name for the User + Name *GetSCIMUsersByIDName `json:"name,omitempty"` + Active *bool `json:"active,omitempty"` + Emails []GetSCIMUsersByIDEmails `json:"emails,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` + // meta information + Meta *GetSCIMUsersByIDMeta `json:"meta,omitempty"` +} + +func (o *GetSCIMUsersByIDResponseBody) GetSchemas() []GetSCIMUsersByIDSchemas { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *GetSCIMUsersByIDResponseBody) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *GetSCIMUsersByIDResponseBody) GetUserName() *string { + if o == nil { + return nil + } + return o.UserName +} + +func (o *GetSCIMUsersByIDResponseBody) GetName() *GetSCIMUsersByIDName { + if o == nil { + return nil + } + return o.Name +} + +func (o *GetSCIMUsersByIDResponseBody) GetActive() *bool { + if o == nil { + return nil + } + return o.Active +} + +func (o *GetSCIMUsersByIDResponseBody) GetEmails() []GetSCIMUsersByIDEmails { + if o == nil { + return nil + } + return o.Emails +} + +func (o *GetSCIMUsersByIDResponseBody) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +func (o *GetSCIMUsersByIDResponseBody) GetMeta() *GetSCIMUsersByIDMeta { + if o == nil { + return nil + } + return o.Meta +} + +type GetSCIMUsersByIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successfully deleted the User. + TwoHundredApplicationJSONObject *GetSCIMUsersByIDResponseBody + // Not authorized to execte the specific API. + FourHundredAndThreeApplicationJSONObject *GetSCIMUsersByIDSCIMUsersResponseBody + // Internal error Failed + FiveHundredAndOneApplicationJSONObject *GetSCIMUsersByIDSCIMUsersResponseResponseBody +} + +func (o *GetSCIMUsersByIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetSCIMUsersByIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetSCIMUsersByIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetSCIMUsersByIDResponse) GetTwoHundredApplicationJSONObject() *GetSCIMUsersByIDResponseBody { + if o == nil { + return nil + } + return o.TwoHundredApplicationJSONObject +} + +func (o *GetSCIMUsersByIDResponse) GetFourHundredAndThreeApplicationJSONObject() *GetSCIMUsersByIDSCIMUsersResponseBody { + if o == nil { + return nil + } + return o.FourHundredAndThreeApplicationJSONObject +} + +func (o *GetSCIMUsersByIDResponse) GetFiveHundredAndOneApplicationJSONObject() *GetSCIMUsersByIDSCIMUsersResponseResponseBody { + if o == nil { + return nil + } + return o.FiveHundredAndOneApplicationJSONObject +} diff --git a/internal/sdk/models/operations/getusers.go b/internal/sdk/models/operations/getusers.go new file mode 100644 index 0000000..d52bb18 --- /dev/null +++ b/internal/sdk/models/operations/getusers.go @@ -0,0 +1,368 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "net/http" +) + +type GetUsersRequest struct { + // key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" + Filter *string `queryParam:"style=form,explode=true,name=filter"` + StartIndex *int64 `queryParam:"style=form,explode=true,name=startIndex"` + Count *int64 `queryParam:"style=form,explode=true,name=count"` +} + +func (o *GetUsersRequest) GetFilter() *string { + if o == nil { + return nil + } + return o.Filter +} + +func (o *GetUsersRequest) GetStartIndex() *int64 { + if o == nil { + return nil + } + return o.StartIndex +} + +func (o *GetUsersRequest) GetCount() *int64 { + if o == nil { + return nil + } + return o.Count +} + +type GetUsersScimUsersStatus string + +const ( + GetUsersScimUsersStatusFailed GetUsersScimUsersStatus = "failed" + GetUsersScimUsersStatusFiveHundredAndOne GetUsersScimUsersStatus = "501" +) + +func (e GetUsersScimUsersStatus) ToPointer() *GetUsersScimUsersStatus { + return &e +} + +func (e *GetUsersScimUsersStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "failed": + fallthrough + case "501": + *e = GetUsersScimUsersStatus(v) + return nil + default: + return fmt.Errorf("invalid value for GetUsersScimUsersStatus: %v", v) + } +} + +// GetUsersScimUsersResponse501ResponseBody - Internal error Failed +type GetUsersScimUsersResponse501ResponseBody struct { + Status *GetUsersScimUsersStatus `json:"status,omitempty"` + Schemas *string `json:"schemas,omitempty"` + Detail *string `json:"detail,omitempty"` +} + +func (o *GetUsersScimUsersResponse501ResponseBody) GetStatus() *GetUsersScimUsersStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *GetUsersScimUsersResponse501ResponseBody) GetSchemas() *string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *GetUsersScimUsersResponse501ResponseBody) GetDetail() *string { + if o == nil { + return nil + } + return o.Detail +} + +// GetUsersScimUsersResponseResponseBody - Not authorized to execte the specific API. +type GetUsersScimUsersResponseResponseBody struct { + Message *string `json:"message,omitempty"` +} + +func (o *GetUsersScimUsersResponseResponseBody) GetMessage() *string { + if o == nil { + return nil + } + return o.Message +} + +type GetUsersStatus string + +const ( + GetUsersStatusFourHundred GetUsersStatus = "400" + GetUsersStatusFailed GetUsersStatus = "failed" +) + +func (e GetUsersStatus) ToPointer() *GetUsersStatus { + return &e +} + +func (e *GetUsersStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "400": + fallthrough + case "failed": + *e = GetUsersStatus(v) + return nil + default: + return fmt.Errorf("invalid value for GetUsersStatus: %v", v) + } +} + +// GetUsersScimUsersResponseBody - Failed +type GetUsersScimUsersResponseBody struct { + Status *GetUsersStatus `json:"status,omitempty"` + Description *string `json:"description,omitempty"` + // schema of the resource + Schemas []string `json:"schemas,omitempty"` +} + +func (o *GetUsersScimUsersResponseBody) GetStatus() *GetUsersStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *GetUsersScimUsersResponseBody) GetDescription() *string { + if o == nil { + return nil + } + return o.Description +} + +func (o *GetUsersScimUsersResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +// GetUsersName - Family_name and given_name for the User +type GetUsersName struct { + // last_name of the SCIM User. + FamilyName *string `json:"familyName,omitempty"` + // first_name of the SCIM User. + GivenName *string `json:"givenName,omitempty"` +} + +func (o *GetUsersName) GetFamilyName() *string { + if o == nil { + return nil + } + return o.FamilyName +} + +func (o *GetUsersName) GetGivenName() *string { + if o == nil { + return nil + } + return o.GivenName +} + +type GetUsersEmails struct { + // Email ID of the SCIM user + Value *string `json:"value,omitempty"` + Primary *bool `json:"primary,omitempty"` +} + +func (o *GetUsersEmails) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +func (o *GetUsersEmails) GetPrimary() *bool { + if o == nil { + return nil + } + return o.Primary +} + +type Resources struct { + // SCIM User ID + ID *string `json:"id,omitempty"` + // UPN name of the SCIM User + UserName *string `json:"userName,omitempty"` + // Family_name and given_name for the User + Name *GetUsersName `json:"name,omitempty"` + Active *bool `json:"active,omitempty"` + Emails []GetUsersEmails `json:"emails,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` +} + +func (o *Resources) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *Resources) GetUserName() *string { + if o == nil { + return nil + } + return o.UserName +} + +func (o *Resources) GetName() *GetUsersName { + if o == nil { + return nil + } + return o.Name +} + +func (o *Resources) GetActive() *bool { + if o == nil { + return nil + } + return o.Active +} + +func (o *Resources) GetEmails() []GetUsersEmails { + if o == nil { + return nil + } + return o.Emails +} + +func (o *Resources) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +// GetUsersResponseBody - Successfully added/overwritten the User. +type GetUsersResponseBody struct { + // schema of the resource + Schemas []string `json:"schemas,omitempty"` + TotalResults *int64 `json:"totalResults,omitempty"` + StartIndex *int64 `json:"startIndex,omitempty"` + ItemsPerPage *int64 `json:"itemsPerPage,omitempty"` + Resources []Resources `json:"Resources,omitempty"` +} + +func (o *GetUsersResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *GetUsersResponseBody) GetTotalResults() *int64 { + if o == nil { + return nil + } + return o.TotalResults +} + +func (o *GetUsersResponseBody) GetStartIndex() *int64 { + if o == nil { + return nil + } + return o.StartIndex +} + +func (o *GetUsersResponseBody) GetItemsPerPage() *int64 { + if o == nil { + return nil + } + return o.ItemsPerPage +} + +func (o *GetUsersResponseBody) GetResources() []Resources { + if o == nil { + return nil + } + return o.Resources +} + +type GetUsersResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successfully added/overwritten the User. + TwoHundredApplicationScimPlusJSONObject *GetUsersResponseBody + // Failed + FourHundredApplicationJSONObject *GetUsersScimUsersResponseBody + // Not authorized to execte the specific API. + FourHundredAndThreeApplicationJSONObject *GetUsersScimUsersResponseResponseBody + // Internal error Failed + FiveHundredAndOneApplicationJSONObject *GetUsersScimUsersResponse501ResponseBody +} + +func (o *GetUsersResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetUsersResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetUsersResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetUsersResponse) GetTwoHundredApplicationScimPlusJSONObject() *GetUsersResponseBody { + if o == nil { + return nil + } + return o.TwoHundredApplicationScimPlusJSONObject +} + +func (o *GetUsersResponse) GetFourHundredApplicationJSONObject() *GetUsersScimUsersResponseBody { + if o == nil { + return nil + } + return o.FourHundredApplicationJSONObject +} + +func (o *GetUsersResponse) GetFourHundredAndThreeApplicationJSONObject() *GetUsersScimUsersResponseResponseBody { + if o == nil { + return nil + } + return o.FourHundredAndThreeApplicationJSONObject +} + +func (o *GetUsersResponse) GetFiveHundredAndOneApplicationJSONObject() *GetUsersScimUsersResponse501ResponseBody { + if o == nil { + return nil + } + return o.FiveHundredAndOneApplicationJSONObject +} diff --git a/internal/sdk/models/operations/getusersid.go b/internal/sdk/models/operations/getusersid.go new file mode 100644 index 0000000..d814fe9 --- /dev/null +++ b/internal/sdk/models/operations/getusersid.go @@ -0,0 +1,298 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "net/http" +) + +type GetUsersIDRequest struct { + // SCIM Used ID should be specified + ID string `pathParam:"style=simple,explode=false,name=id"` +} + +func (o *GetUsersIDRequest) GetID() string { + if o == nil { + return "" + } + return o.ID +} + +type GetUsersIDStatus string + +const ( + GetUsersIDStatusFailed GetUsersIDStatus = "failed" + GetUsersIDStatusFiveHundredAndOne GetUsersIDStatus = "501" +) + +func (e GetUsersIDStatus) ToPointer() *GetUsersIDStatus { + return &e +} + +func (e *GetUsersIDStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "failed": + fallthrough + case "501": + *e = GetUsersIDStatus(v) + return nil + default: + return fmt.Errorf("invalid value for GetUsersIDStatus: %v", v) + } +} + +// GetUsersIDScimUsersResponseResponseBody - Internal error Failed +type GetUsersIDScimUsersResponseResponseBody struct { + Status *GetUsersIDStatus `json:"status,omitempty"` + Schemas *string `json:"schemas,omitempty"` + Detail *string `json:"detail,omitempty"` +} + +func (o *GetUsersIDScimUsersResponseResponseBody) GetStatus() *GetUsersIDStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *GetUsersIDScimUsersResponseResponseBody) GetSchemas() *string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *GetUsersIDScimUsersResponseResponseBody) GetDetail() *string { + if o == nil { + return nil + } + return o.Detail +} + +// GetUsersIDScimUsersResponseBody - Not authorized to execte the specific API. +type GetUsersIDScimUsersResponseBody struct { + Message *string `json:"message,omitempty"` +} + +func (o *GetUsersIDScimUsersResponseBody) GetMessage() *string { + if o == nil { + return nil + } + return o.Message +} + +type GetUsersIDSchemas string + +const ( + GetUsersIDSchemasUrnIetfParamsScimSchemasCore20User GetUsersIDSchemas = "urn:ietf:params:scim:schemas:core:2.0:User" +) + +func (e GetUsersIDSchemas) ToPointer() *GetUsersIDSchemas { + return &e +} + +func (e *GetUsersIDSchemas) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "urn:ietf:params:scim:schemas:core:2.0:User": + *e = GetUsersIDSchemas(v) + return nil + default: + return fmt.Errorf("invalid value for GetUsersIDSchemas: %v", v) + } +} + +// GetUsersIDName - Family_name and given_name for the User +type GetUsersIDName struct { + // last_name of the SCIM User. + FamilyName *string `json:"familyName,omitempty"` + // first_name of the SCIM User. + GivenName *string `json:"givenName,omitempty"` +} + +func (o *GetUsersIDName) GetFamilyName() *string { + if o == nil { + return nil + } + return o.FamilyName +} + +func (o *GetUsersIDName) GetGivenName() *string { + if o == nil { + return nil + } + return o.GivenName +} + +type GetUsersIDEmails struct { + // Email ID of the SCIM user + Value *string `json:"value,omitempty"` + Primary *bool `json:"primary,omitempty"` +} + +func (o *GetUsersIDEmails) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +func (o *GetUsersIDEmails) GetPrimary() *bool { + if o == nil { + return nil + } + return o.Primary +} + +// GetUsersIDMeta - meta information +type GetUsersIDMeta struct { + // resource type User/Group. + ResourceType *string `json:"resourceType,omitempty"` +} + +func (o *GetUsersIDMeta) GetResourceType() *string { + if o == nil { + return nil + } + return o.ResourceType +} + +// GetUsersIDResponseBody - Successfully deleted the User. +type GetUsersIDResponseBody struct { + // schema of the resource + Schemas []GetUsersIDSchemas `json:"schemas,omitempty"` + // SCIM User ID + ID *string `json:"id,omitempty"` + // UPN name of the SCIM User + UserName *string `json:"userName,omitempty"` + // Family_name and given_name for the User + Name *GetUsersIDName `json:"name,omitempty"` + Active *bool `json:"active,omitempty"` + Emails []GetUsersIDEmails `json:"emails,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` + // meta information + Meta *GetUsersIDMeta `json:"meta,omitempty"` +} + +func (o *GetUsersIDResponseBody) GetSchemas() []GetUsersIDSchemas { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *GetUsersIDResponseBody) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *GetUsersIDResponseBody) GetUserName() *string { + if o == nil { + return nil + } + return o.UserName +} + +func (o *GetUsersIDResponseBody) GetName() *GetUsersIDName { + if o == nil { + return nil + } + return o.Name +} + +func (o *GetUsersIDResponseBody) GetActive() *bool { + if o == nil { + return nil + } + return o.Active +} + +func (o *GetUsersIDResponseBody) GetEmails() []GetUsersIDEmails { + if o == nil { + return nil + } + return o.Emails +} + +func (o *GetUsersIDResponseBody) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +func (o *GetUsersIDResponseBody) GetMeta() *GetUsersIDMeta { + if o == nil { + return nil + } + return o.Meta +} + +type GetUsersIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successfully deleted the User. + TwoHundredApplicationScimPlusJSONObject *GetUsersIDResponseBody + // Not authorized to execte the specific API. + FourHundredAndThreeApplicationJSONObject *GetUsersIDScimUsersResponseBody + // Internal error Failed + FiveHundredAndOneApplicationJSONObject *GetUsersIDScimUsersResponseResponseBody +} + +func (o *GetUsersIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetUsersIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetUsersIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetUsersIDResponse) GetTwoHundredApplicationScimPlusJSONObject() *GetUsersIDResponseBody { + if o == nil { + return nil + } + return o.TwoHundredApplicationScimPlusJSONObject +} + +func (o *GetUsersIDResponse) GetFourHundredAndThreeApplicationJSONObject() *GetUsersIDScimUsersResponseBody { + if o == nil { + return nil + } + return o.FourHundredAndThreeApplicationJSONObject +} + +func (o *GetUsersIDResponse) GetFiveHundredAndOneApplicationJSONObject() *GetUsersIDScimUsersResponseResponseBody { + if o == nil { + return nil + } + return o.FiveHundredAndOneApplicationJSONObject +} diff --git a/internal/sdk/models/operations/options.go b/internal/sdk/models/operations/options.go new file mode 100644 index 0000000..7651a9e --- /dev/null +++ b/internal/sdk/models/operations/options.go @@ -0,0 +1,86 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "errors" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/utils" +) + +var ErrUnsupportedOption = errors.New("unsupported option") + +const ( + SupportedOptionServerURL = "serverURL" + SupportedOptionRetries = "retries" + SupportedOptionAcceptHeaderOverride = "acceptHeaderOverride" +) + +type AcceptHeaderEnum string + +const ( + AcceptHeaderEnumApplicationJson AcceptHeaderEnum = "application/json" + AcceptHeaderEnumApplicationScimPlusJson AcceptHeaderEnum = "application/scim+json" +) + +func (e AcceptHeaderEnum) ToPointer() *AcceptHeaderEnum { + return &e +} + +type Options struct { + ServerURL *string + Retries *utils.RetryConfig + AcceptHeaderOverride *AcceptHeaderEnum +} + +type Option func(*Options, ...string) error + +// WithServerURL allows providing an alternative server URL. +func WithServerURL(serverURL string) Option { + return func(opts *Options, supportedOptions ...string) error { + if !utils.Contains(supportedOptions, SupportedOptionServerURL) { + return ErrUnsupportedOption + } + + opts.ServerURL = &serverURL + return nil + } +} + +// WithTemplatedServerURL allows providing an alternative server URL with templated parameters. +func WithTemplatedServerURL(serverURL string, params map[string]string) Option { + return func(opts *Options, supportedOptions ...string) error { + if !utils.Contains(supportedOptions, SupportedOptionServerURL) { + return ErrUnsupportedOption + } + + if params != nil { + serverURL = utils.ReplaceParameters(serverURL, params) + } + + opts.ServerURL = &serverURL + return nil + } +} + +// WithRetries allows customizing the default retry configuration. +func WithRetries(config utils.RetryConfig) Option { + return func(opts *Options, supportedOptions ...string) error { + if !utils.Contains(supportedOptions, SupportedOptionRetries) { + return ErrUnsupportedOption + } + + opts.Retries = &config + return nil + } +} + +func WithAcceptHeaderOverride(acceptHeaderOverride AcceptHeaderEnum) Option { + return func(opts *Options, supportedOptions ...string) error { + if !utils.Contains(supportedOptions, SupportedOptionAcceptHeaderOverride) { + return ErrUnsupportedOption + } + + opts.AcceptHeaderOverride = &acceptHeaderOverride + return nil + } +} diff --git a/internal/sdk/pkg/models/operations/patchsteeringgretunnelsid.go b/internal/sdk/models/operations/patchgretunnelsbyid.go similarity index 60% rename from internal/sdk/pkg/models/operations/patchsteeringgretunnelsid.go rename to internal/sdk/models/operations/patchgretunnelsbyid.go index 82595cc..ee99882 100644 --- a/internal/sdk/pkg/models/operations/patchsteeringgretunnelsid.go +++ b/internal/sdk/models/operations/patchgretunnelsbyid.go @@ -3,32 +3,32 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type PatchSteeringGreTunnelsIDRequest struct { +type PatchGreTunnelsByIDRequest struct { // GRE tunnel id ID int64 `pathParam:"style=simple,explode=false,name=id"` // GRE tunnel object GreTunnelRequestPatch shared.GreTunnelRequestPatch `request:"mediaType=application/json"` } -func (o *PatchSteeringGreTunnelsIDRequest) GetID() int64 { +func (o *PatchGreTunnelsByIDRequest) GetID() int64 { if o == nil { return 0 } return o.ID } -func (o *PatchSteeringGreTunnelsIDRequest) GetGreTunnelRequestPatch() shared.GreTunnelRequestPatch { +func (o *PatchGreTunnelsByIDRequest) GetGreTunnelRequestPatch() shared.GreTunnelRequestPatch { if o == nil { return shared.GreTunnelRequestPatch{} } return o.GreTunnelRequestPatch } -type PatchSteeringGreTunnelsIDResponse struct { +type PatchGreTunnelsByIDResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -51,70 +51,70 @@ type PatchSteeringGreTunnelsIDResponse struct { GreResponse500 *shared.GreResponse500 } -func (o *PatchSteeringGreTunnelsIDResponse) GetContentType() string { +func (o *PatchGreTunnelsByIDResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *PatchSteeringGreTunnelsIDResponse) GetStatusCode() int { +func (o *PatchGreTunnelsByIDResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *PatchSteeringGreTunnelsIDResponse) GetRawResponse() *http.Response { +func (o *PatchGreTunnelsByIDResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *PatchSteeringGreTunnelsIDResponse) GetGrePatchResponse200() *shared.GrePatchResponse200 { +func (o *PatchGreTunnelsByIDResponse) GetGrePatchResponse200() *shared.GrePatchResponse200 { if o == nil { return nil } return o.GrePatchResponse200 } -func (o *PatchSteeringGreTunnelsIDResponse) GetGreResponse400() *shared.GreResponse400 { +func (o *PatchGreTunnelsByIDResponse) GetGreResponse400() *shared.GreResponse400 { if o == nil { return nil } return o.GreResponse400 } -func (o *PatchSteeringGreTunnelsIDResponse) GetGreResponse403() *shared.GreResponse403 { +func (o *PatchGreTunnelsByIDResponse) GetGreResponse403() *shared.GreResponse403 { if o == nil { return nil } return o.GreResponse403 } -func (o *PatchSteeringGreTunnelsIDResponse) GetGreResponse404() *shared.GreResponse404 { +func (o *PatchGreTunnelsByIDResponse) GetGreResponse404() *shared.GreResponse404 { if o == nil { return nil } return o.GreResponse404 } -func (o *PatchSteeringGreTunnelsIDResponse) GetGreResponse405() *shared.GreResponse405 { +func (o *PatchGreTunnelsByIDResponse) GetGreResponse405() *shared.GreResponse405 { if o == nil { return nil } return o.GreResponse405 } -func (o *PatchSteeringGreTunnelsIDResponse) GetGreResponse429() *shared.GreResponse429 { +func (o *PatchGreTunnelsByIDResponse) GetGreResponse429() *shared.GreResponse429 { if o == nil { return nil } return o.GreResponse429 } -func (o *PatchSteeringGreTunnelsIDResponse) GetGreResponse500() *shared.GreResponse500 { +func (o *PatchGreTunnelsByIDResponse) GetGreResponse500() *shared.GreResponse500 { if o == nil { return nil } diff --git a/internal/sdk/pkg/models/operations/patchsteeringipsectunnelsid.go b/internal/sdk/models/operations/patchipsectunnelsbyid.go similarity index 60% rename from internal/sdk/pkg/models/operations/patchsteeringipsectunnelsid.go rename to internal/sdk/models/operations/patchipsectunnelsbyid.go index 706e51b..c2fb263 100644 --- a/internal/sdk/pkg/models/operations/patchsteeringipsectunnelsid.go +++ b/internal/sdk/models/operations/patchipsectunnelsbyid.go @@ -3,32 +3,32 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type PatchSteeringIpsecTunnelsIDRequest struct { +type PatchIpsecTunnelsByIDRequest struct { // IPSec tunnel id ID int64 `pathParam:"style=simple,explode=false,name=id"` // IPSec tunnel object IpsecTunnelRequestPatch shared.IpsecTunnelRequestPatch `request:"mediaType=application/json"` } -func (o *PatchSteeringIpsecTunnelsIDRequest) GetID() int64 { +func (o *PatchIpsecTunnelsByIDRequest) GetID() int64 { if o == nil { return 0 } return o.ID } -func (o *PatchSteeringIpsecTunnelsIDRequest) GetIpsecTunnelRequestPatch() shared.IpsecTunnelRequestPatch { +func (o *PatchIpsecTunnelsByIDRequest) GetIpsecTunnelRequestPatch() shared.IpsecTunnelRequestPatch { if o == nil { return shared.IpsecTunnelRequestPatch{} } return o.IpsecTunnelRequestPatch } -type PatchSteeringIpsecTunnelsIDResponse struct { +type PatchIpsecTunnelsByIDResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -51,70 +51,70 @@ type PatchSteeringIpsecTunnelsIDResponse struct { IpsecResponse500 *shared.IpsecResponse500 } -func (o *PatchSteeringIpsecTunnelsIDResponse) GetContentType() string { +func (o *PatchIpsecTunnelsByIDResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *PatchSteeringIpsecTunnelsIDResponse) GetStatusCode() int { +func (o *PatchIpsecTunnelsByIDResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *PatchSteeringIpsecTunnelsIDResponse) GetRawResponse() *http.Response { +func (o *PatchIpsecTunnelsByIDResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *PatchSteeringIpsecTunnelsIDResponse) GetIpsecPatchResponse200() *shared.IpsecPatchResponse200 { +func (o *PatchIpsecTunnelsByIDResponse) GetIpsecPatchResponse200() *shared.IpsecPatchResponse200 { if o == nil { return nil } return o.IpsecPatchResponse200 } -func (o *PatchSteeringIpsecTunnelsIDResponse) GetIpsecResponse400() *shared.IpsecResponse400 { +func (o *PatchIpsecTunnelsByIDResponse) GetIpsecResponse400() *shared.IpsecResponse400 { if o == nil { return nil } return o.IpsecResponse400 } -func (o *PatchSteeringIpsecTunnelsIDResponse) GetIpsecResponse403() *shared.IpsecResponse403 { +func (o *PatchIpsecTunnelsByIDResponse) GetIpsecResponse403() *shared.IpsecResponse403 { if o == nil { return nil } return o.IpsecResponse403 } -func (o *PatchSteeringIpsecTunnelsIDResponse) GetIpsecResponse404() *shared.IpsecResponse404 { +func (o *PatchIpsecTunnelsByIDResponse) GetIpsecResponse404() *shared.IpsecResponse404 { if o == nil { return nil } return o.IpsecResponse404 } -func (o *PatchSteeringIpsecTunnelsIDResponse) GetIpsecResponse405() *shared.IpsecResponse405 { +func (o *PatchIpsecTunnelsByIDResponse) GetIpsecResponse405() *shared.IpsecResponse405 { if o == nil { return nil } return o.IpsecResponse405 } -func (o *PatchSteeringIpsecTunnelsIDResponse) GetIpsecResponse429() *shared.IpsecResponse429 { +func (o *PatchIpsecTunnelsByIDResponse) GetIpsecResponse429() *shared.IpsecResponse429 { if o == nil { return nil } return o.IpsecResponse429 } -func (o *PatchSteeringIpsecTunnelsIDResponse) GetIpsecResponse500() *shared.IpsecResponse500 { +func (o *PatchIpsecTunnelsByIDResponse) GetIpsecResponse500() *shared.IpsecResponse500 { if o == nil { return nil } diff --git a/internal/sdk/models/operations/patchnpaappsbyid.go b/internal/sdk/models/operations/patchnpaappsbyid.go new file mode 100644 index 0000000..49230af --- /dev/null +++ b/internal/sdk/models/operations/patchnpaappsbyid.go @@ -0,0 +1,115 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" + "net/http" +) + +// PatchNPAAppsByIDQueryParamSilent - flag to skip output except status code +type PatchNPAAppsByIDQueryParamSilent string + +const ( + PatchNPAAppsByIDQueryParamSilentOne PatchNPAAppsByIDQueryParamSilent = "1" + PatchNPAAppsByIDQueryParamSilentZero PatchNPAAppsByIDQueryParamSilent = "0" +) + +func (e PatchNPAAppsByIDQueryParamSilent) ToPointer() *PatchNPAAppsByIDQueryParamSilent { + return &e +} + +func (e *PatchNPAAppsByIDQueryParamSilent) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "1": + fallthrough + case "0": + *e = PatchNPAAppsByIDQueryParamSilent(v) + return nil + default: + return fmt.Errorf("invalid value for PatchNPAAppsByIDQueryParamSilent: %v", v) + } +} + +type PatchNPAAppsByIDRequest struct { + // private apps id + PrivateAppID int `pathParam:"style=simple,explode=false,name=private_app_id"` + // flag to skip output except status code + Silent *PatchNPAAppsByIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + PrivateAppsPutRequest shared.PrivateAppsPutRequest `request:"mediaType=application/json"` +} + +func (o *PatchNPAAppsByIDRequest) GetPrivateAppID() int { + if o == nil { + return 0 + } + return o.PrivateAppID +} + +func (o *PatchNPAAppsByIDRequest) GetSilent() *PatchNPAAppsByIDQueryParamSilent { + if o == nil { + return nil + } + return o.Silent +} + +func (o *PatchNPAAppsByIDRequest) GetPrivateAppsPutRequest() shared.PrivateAppsPutRequest { + if o == nil { + return shared.PrivateAppsPutRequest{} + } + return o.PrivateAppsPutRequest +} + +type PatchNPAAppsByIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + PrivateAppsResponse *shared.PrivateAppsResponse + // Invalid request + PrivateAppsResponse400 *shared.PrivateAppsResponse400 +} + +func (o *PatchNPAAppsByIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PatchNPAAppsByIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PatchNPAAppsByIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PatchNPAAppsByIDResponse) GetPrivateAppsResponse() *shared.PrivateAppsResponse { + if o == nil { + return nil + } + return o.PrivateAppsResponse +} + +func (o *PatchNPAAppsByIDResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { + if o == nil { + return nil + } + return o.PrivateAppsResponse400 +} diff --git a/internal/sdk/models/operations/patchnpapolicygroupsbyid.go b/internal/sdk/models/operations/patchnpapolicygroupsbyid.go new file mode 100644 index 0000000..57c9040 --- /dev/null +++ b/internal/sdk/models/operations/patchnpapolicygroupsbyid.go @@ -0,0 +1,127 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" + "net/http" +) + +// PatchNPAPolicyGroupsByIDQueryParamSilent - flag to skip output except status code +type PatchNPAPolicyGroupsByIDQueryParamSilent string + +const ( + PatchNPAPolicyGroupsByIDQueryParamSilentOne PatchNPAPolicyGroupsByIDQueryParamSilent = "1" + PatchNPAPolicyGroupsByIDQueryParamSilentZero PatchNPAPolicyGroupsByIDQueryParamSilent = "0" +) + +func (e PatchNPAPolicyGroupsByIDQueryParamSilent) ToPointer() *PatchNPAPolicyGroupsByIDQueryParamSilent { + return &e +} + +func (e *PatchNPAPolicyGroupsByIDQueryParamSilent) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "1": + fallthrough + case "0": + *e = PatchNPAPolicyGroupsByIDQueryParamSilent(v) + return nil + default: + return fmt.Errorf("invalid value for PatchNPAPolicyGroupsByIDQueryParamSilent: %v", v) + } +} + +type PatchNPAPolicyGroupsByIDRequest struct { + // policy group rule id + ID string `pathParam:"style=simple,explode=false,name=id"` + // flag to skip output except status code + Silent *PatchNPAPolicyGroupsByIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + NpaPolicygroupRequest shared.NpaPolicygroupRequest `request:"mediaType=application/json"` +} + +func (o *PatchNPAPolicyGroupsByIDRequest) GetID() string { + if o == nil { + return "" + } + return o.ID +} + +func (o *PatchNPAPolicyGroupsByIDRequest) GetSilent() *PatchNPAPolicyGroupsByIDQueryParamSilent { + if o == nil { + return nil + } + return o.Silent +} + +func (o *PatchNPAPolicyGroupsByIDRequest) GetNpaPolicygroupRequest() shared.NpaPolicygroupRequest { + if o == nil { + return shared.NpaPolicygroupRequest{} + } + return o.NpaPolicygroupRequest +} + +// PatchNPAPolicyGroupsByIDResponseBody - successful operation +type PatchNPAPolicyGroupsByIDResponseBody struct { + Data *shared.NpaPolicygroupResponseItem `json:"data,omitempty"` +} + +func (o *PatchNPAPolicyGroupsByIDResponseBody) GetData() *shared.NpaPolicygroupResponseItem { + if o == nil { + return nil + } + return o.Data +} + +type PatchNPAPolicyGroupsByIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + Object *PatchNPAPolicyGroupsByIDResponseBody + // Invalid request + NpaPolicygroupResponse400 *shared.NpaPolicygroupResponse400 +} + +func (o *PatchNPAPolicyGroupsByIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PatchNPAPolicyGroupsByIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PatchNPAPolicyGroupsByIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PatchNPAPolicyGroupsByIDResponse) GetObject() *PatchNPAPolicyGroupsByIDResponseBody { + if o == nil { + return nil + } + return o.Object +} + +func (o *PatchNPAPolicyGroupsByIDResponse) GetNpaPolicygroupResponse400() *shared.NpaPolicygroupResponse400 { + if o == nil { + return nil + } + return o.NpaPolicygroupResponse400 +} diff --git a/internal/sdk/models/operations/patchnpapolicyrulesbyid.go b/internal/sdk/models/operations/patchnpapolicyrulesbyid.go new file mode 100644 index 0000000..74362d4 --- /dev/null +++ b/internal/sdk/models/operations/patchnpapolicyrulesbyid.go @@ -0,0 +1,127 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" + "net/http" +) + +// PatchNPAPolicyRulesByIDQueryParamSilent - flag to skip output except status code +type PatchNPAPolicyRulesByIDQueryParamSilent string + +const ( + PatchNPAPolicyRulesByIDQueryParamSilentOne PatchNPAPolicyRulesByIDQueryParamSilent = "1" + PatchNPAPolicyRulesByIDQueryParamSilentZero PatchNPAPolicyRulesByIDQueryParamSilent = "0" +) + +func (e PatchNPAPolicyRulesByIDQueryParamSilent) ToPointer() *PatchNPAPolicyRulesByIDQueryParamSilent { + return &e +} + +func (e *PatchNPAPolicyRulesByIDQueryParamSilent) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "1": + fallthrough + case "0": + *e = PatchNPAPolicyRulesByIDQueryParamSilent(v) + return nil + default: + return fmt.Errorf("invalid value for PatchNPAPolicyRulesByIDQueryParamSilent: %v", v) + } +} + +type PatchNPAPolicyRulesByIDRequest struct { + // policy rule id + ID string `pathParam:"style=simple,explode=false,name=id"` + // flag to skip output except status code + Silent *PatchNPAPolicyRulesByIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + NpaPolicyRequest shared.NpaPolicyRequest `request:"mediaType=application/json"` +} + +func (o *PatchNPAPolicyRulesByIDRequest) GetID() string { + if o == nil { + return "" + } + return o.ID +} + +func (o *PatchNPAPolicyRulesByIDRequest) GetSilent() *PatchNPAPolicyRulesByIDQueryParamSilent { + if o == nil { + return nil + } + return o.Silent +} + +func (o *PatchNPAPolicyRulesByIDRequest) GetNpaPolicyRequest() shared.NpaPolicyRequest { + if o == nil { + return shared.NpaPolicyRequest{} + } + return o.NpaPolicyRequest +} + +// PatchNPAPolicyRulesByIDResponseBody - successful operation +type PatchNPAPolicyRulesByIDResponseBody struct { + Data *shared.NpaPolicyResponseItem `json:"data,omitempty"` +} + +func (o *PatchNPAPolicyRulesByIDResponseBody) GetData() *shared.NpaPolicyResponseItem { + if o == nil { + return nil + } + return o.Data +} + +type PatchNPAPolicyRulesByIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + Object *PatchNPAPolicyRulesByIDResponseBody + // Invalid request + NpaPolicyResponse400 *shared.NpaPolicyResponse400 +} + +func (o *PatchNPAPolicyRulesByIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PatchNPAPolicyRulesByIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PatchNPAPolicyRulesByIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PatchNPAPolicyRulesByIDResponse) GetObject() *PatchNPAPolicyRulesByIDResponseBody { + if o == nil { + return nil + } + return o.Object +} + +func (o *PatchNPAPolicyRulesByIDResponse) GetNpaPolicyResponse400() *shared.NpaPolicyResponse400 { + if o == nil { + return nil + } + return o.NpaPolicyResponse400 +} diff --git a/internal/sdk/pkg/models/operations/deletesteeringappsprivatetags.go b/internal/sdk/models/operations/patchnpatags.go similarity index 62% rename from internal/sdk/pkg/models/operations/deletesteeringappsprivatetags.go rename to internal/sdk/models/operations/patchnpatags.go index 3f7ac25..25950fb 100644 --- a/internal/sdk/pkg/models/operations/deletesteeringappsprivatetags.go +++ b/internal/sdk/models/operations/patchnpatags.go @@ -3,11 +3,11 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type DeleteSteeringAppsPrivateTagsResponse struct { +type PatchNPATagsResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -20,35 +20,35 @@ type DeleteSteeringAppsPrivateTagsResponse struct { TagResponse400 *shared.TagResponse400 } -func (o *DeleteSteeringAppsPrivateTagsResponse) GetContentType() string { +func (o *PatchNPATagsResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *DeleteSteeringAppsPrivateTagsResponse) GetStatusCode() int { +func (o *PatchNPATagsResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *DeleteSteeringAppsPrivateTagsResponse) GetRawResponse() *http.Response { +func (o *PatchNPATagsResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *DeleteSteeringAppsPrivateTagsResponse) GetTagResponse() *shared.TagResponse { +func (o *PatchNPATagsResponse) GetTagResponse() *shared.TagResponse { if o == nil { return nil } return o.TagResponse } -func (o *DeleteSteeringAppsPrivateTagsResponse) GetTagResponse400() *shared.TagResponse400 { +func (o *PatchNPATagsResponse) GetTagResponse400() *shared.TagResponse400 { if o == nil { return nil } diff --git a/internal/sdk/models/operations/postusers.go b/internal/sdk/models/operations/postusers.go new file mode 100644 index 0000000..0bd6383 --- /dev/null +++ b/internal/sdk/models/operations/postusers.go @@ -0,0 +1,484 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "net/http" +) + +type Schemas string + +const ( + SchemasUrnIetfParamsScimSchemasCore20User Schemas = "urn:ietf:params:scim:schemas:core:2.0:User" +) + +func (e Schemas) ToPointer() *Schemas { + return &e +} + +func (e *Schemas) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "urn:ietf:params:scim:schemas:core:2.0:User": + *e = Schemas(v) + return nil + default: + return fmt.Errorf("invalid value for Schemas: %v", v) + } +} + +// Name - Family_name and given_name for the User +type Name struct { + // last_name of the SCIM User. + FamilyName *string `json:"familyName,omitempty"` + // first_name of the SCIM User. + GivenName *string `json:"givenName,omitempty"` +} + +func (o *Name) GetFamilyName() *string { + if o == nil { + return nil + } + return o.FamilyName +} + +func (o *Name) GetGivenName() *string { + if o == nil { + return nil + } + return o.GivenName +} + +type Emails struct { + // Email ID of the SCIM user + Value *string `json:"value,omitempty"` + Primary *bool `json:"primary,omitempty"` +} + +func (o *Emails) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +func (o *Emails) GetPrimary() *bool { + if o == nil { + return nil + } + return o.Primary +} + +// Meta - meta information +type Meta struct { + // resource type User/Group. + ResourceType *string `json:"resourceType,omitempty"` +} + +func (o *Meta) GetResourceType() *string { + if o == nil { + return nil + } + return o.ResourceType +} + +// PostUsersRequestBody - user request body +type PostUsersRequestBody struct { + // schema of the resource + Schemas []Schemas `json:"schemas,omitempty"` + // UPN name of the SCIM User + UserName *string `json:"userName,omitempty"` + // Family_name and given_name for the User + Name *Name `json:"name,omitempty"` + Active *bool `json:"active,omitempty"` + Emails []Emails `json:"emails,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` + // meta information + Meta *Meta `json:"meta,omitempty"` +} + +func (o *PostUsersRequestBody) GetSchemas() []Schemas { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *PostUsersRequestBody) GetUserName() *string { + if o == nil { + return nil + } + return o.UserName +} + +func (o *PostUsersRequestBody) GetName() *Name { + if o == nil { + return nil + } + return o.Name +} + +func (o *PostUsersRequestBody) GetActive() *bool { + if o == nil { + return nil + } + return o.Active +} + +func (o *PostUsersRequestBody) GetEmails() []Emails { + if o == nil { + return nil + } + return o.Emails +} + +func (o *PostUsersRequestBody) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +func (o *PostUsersRequestBody) GetMeta() *Meta { + if o == nil { + return nil + } + return o.Meta +} + +type PostUsersScimUsersResponseStatus string + +const ( + PostUsersScimUsersResponseStatusFailed PostUsersScimUsersResponseStatus = "failed" + PostUsersScimUsersResponseStatusFiveHundredAndOne PostUsersScimUsersResponseStatus = "501" +) + +func (e PostUsersScimUsersResponseStatus) ToPointer() *PostUsersScimUsersResponseStatus { + return &e +} + +func (e *PostUsersScimUsersResponseStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "failed": + fallthrough + case "501": + *e = PostUsersScimUsersResponseStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PostUsersScimUsersResponseStatus: %v", v) + } +} + +// PostUsersScimUsersResponse501ResponseBody - Internal error Failed +type PostUsersScimUsersResponse501ResponseBody struct { + Status *PostUsersScimUsersResponseStatus `json:"status,omitempty"` + Schemas *string `json:"schemas,omitempty"` + Detail *string `json:"detail,omitempty"` +} + +func (o *PostUsersScimUsersResponse501ResponseBody) GetStatus() *PostUsersScimUsersResponseStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *PostUsersScimUsersResponse501ResponseBody) GetSchemas() *string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *PostUsersScimUsersResponse501ResponseBody) GetDetail() *string { + if o == nil { + return nil + } + return o.Detail +} + +// PostUsersScimUsersResponseResponseBody - Not authorized to execte the specific API. +type PostUsersScimUsersResponseResponseBody struct { + Message *string `json:"message,omitempty"` +} + +func (o *PostUsersScimUsersResponseResponseBody) GetMessage() *string { + if o == nil { + return nil + } + return o.Message +} + +type PostUsersScimUsersStatus string + +const ( + PostUsersScimUsersStatusFourHundred PostUsersScimUsersStatus = "400" + PostUsersScimUsersStatusFailed PostUsersScimUsersStatus = "failed" +) + +func (e PostUsersScimUsersStatus) ToPointer() *PostUsersScimUsersStatus { + return &e +} + +func (e *PostUsersScimUsersStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "400": + fallthrough + case "failed": + *e = PostUsersScimUsersStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PostUsersScimUsersStatus: %v", v) + } +} + +// PostUsersScimUsersResponseBody - Failed +type PostUsersScimUsersResponseBody struct { + Status *PostUsersScimUsersStatus `json:"status,omitempty"` + Description *string `json:"description,omitempty"` + // schema of the resource + Schemas []string `json:"schemas,omitempty"` +} + +func (o *PostUsersScimUsersResponseBody) GetStatus() *PostUsersScimUsersStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *PostUsersScimUsersResponseBody) GetDescription() *string { + if o == nil { + return nil + } + return o.Description +} + +func (o *PostUsersScimUsersResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +// PostUsersName - Family_name and given_name for the User +type PostUsersName struct { + // last_name of the SCIM User. + FamilyName *string `json:"familyName,omitempty"` + // first_name of the SCIM User. + GivenName *string `json:"givenName,omitempty"` +} + +func (o *PostUsersName) GetFamilyName() *string { + if o == nil { + return nil + } + return o.FamilyName +} + +func (o *PostUsersName) GetGivenName() *string { + if o == nil { + return nil + } + return o.GivenName +} + +type PostUsersEmails struct { + // Email ID of the SCIM user + Value *string `json:"value,omitempty"` + Primary *bool `json:"primary,omitempty"` +} + +func (o *PostUsersEmails) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +func (o *PostUsersEmails) GetPrimary() *bool { + if o == nil { + return nil + } + return o.Primary +} + +type PostUsersStatus int64 + +const ( + PostUsersStatusTwoHundredAndOne PostUsersStatus = 201 + PostUsersStatusTwoHundred PostUsersStatus = 200 +) + +func (e PostUsersStatus) ToPointer() *PostUsersStatus { + return &e +} + +func (e *PostUsersStatus) UnmarshalJSON(data []byte) error { + var v int64 + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case 201: + fallthrough + case 200: + *e = PostUsersStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PostUsersStatus: %v", v) + } +} + +// PostUsersResponseBody - Successfully added the User. +type PostUsersResponseBody struct { + // schema of the resource + Schemas []string `json:"schemas,omitempty"` + // SCIM User ID + ID *string `json:"id,omitempty"` + // UPN name of the SCIM User + UserName *string `json:"userName,omitempty"` + // Family_name and given_name for the User + Name *PostUsersName `json:"name,omitempty"` + Active *bool `json:"active,omitempty"` + Emails []PostUsersEmails `json:"emails,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` + Status *PostUsersStatus `json:"status,omitempty"` +} + +func (o *PostUsersResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *PostUsersResponseBody) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *PostUsersResponseBody) GetUserName() *string { + if o == nil { + return nil + } + return o.UserName +} + +func (o *PostUsersResponseBody) GetName() *PostUsersName { + if o == nil { + return nil + } + return o.Name +} + +func (o *PostUsersResponseBody) GetActive() *bool { + if o == nil { + return nil + } + return o.Active +} + +func (o *PostUsersResponseBody) GetEmails() []PostUsersEmails { + if o == nil { + return nil + } + return o.Emails +} + +func (o *PostUsersResponseBody) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +func (o *PostUsersResponseBody) GetStatus() *PostUsersStatus { + if o == nil { + return nil + } + return o.Status +} + +type PostUsersResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successfully added the User. + TwoHundredAndOneApplicationScimPlusJSONObject *PostUsersResponseBody + // Failed + FourHundredApplicationJSONObject *PostUsersScimUsersResponseBody + // Not authorized to execte the specific API. + FourHundredAndThreeApplicationJSONObject *PostUsersScimUsersResponseResponseBody + // Internal error Failed + FiveHundredAndOneApplicationJSONObject *PostUsersScimUsersResponse501ResponseBody +} + +func (o *PostUsersResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PostUsersResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PostUsersResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PostUsersResponse) GetTwoHundredAndOneApplicationScimPlusJSONObject() *PostUsersResponseBody { + if o == nil { + return nil + } + return o.TwoHundredAndOneApplicationScimPlusJSONObject +} + +func (o *PostUsersResponse) GetFourHundredApplicationJSONObject() *PostUsersScimUsersResponseBody { + if o == nil { + return nil + } + return o.FourHundredApplicationJSONObject +} + +func (o *PostUsersResponse) GetFourHundredAndThreeApplicationJSONObject() *PostUsersScimUsersResponseResponseBody { + if o == nil { + return nil + } + return o.FourHundredAndThreeApplicationJSONObject +} + +func (o *PostUsersResponse) GetFiveHundredAndOneApplicationJSONObject() *PostUsersScimUsersResponse501ResponseBody { + if o == nil { + return nil + } + return o.FiveHundredAndOneApplicationJSONObject +} diff --git a/internal/sdk/models/operations/putscimgroupsbyid.go b/internal/sdk/models/operations/putscimgroupsbyid.go new file mode 100644 index 0000000..24a2514 --- /dev/null +++ b/internal/sdk/models/operations/putscimgroupsbyid.go @@ -0,0 +1,455 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "net/http" +) + +type PutSCIMGroupsByIDSchemas string + +const ( + PutSCIMGroupsByIDSchemasUrnIetfParamsScimSchemasCore20Group PutSCIMGroupsByIDSchemas = "urn:ietf:params:scim:schemas:core:2.0:Group" +) + +func (e PutSCIMGroupsByIDSchemas) ToPointer() *PutSCIMGroupsByIDSchemas { + return &e +} + +func (e *PutSCIMGroupsByIDSchemas) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "urn:ietf:params:scim:schemas:core:2.0:Group": + *e = PutSCIMGroupsByIDSchemas(v) + return nil + default: + return fmt.Errorf("invalid value for PutSCIMGroupsByIDSchemas: %v", v) + } +} + +type PutSCIMGroupsByIDMembers struct { + Value *string `json:"value,omitempty"` +} + +func (o *PutSCIMGroupsByIDMembers) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +// PutSCIMGroupsByIDMeta - meta information +type PutSCIMGroupsByIDMeta struct { + // resource type Group. + ResourceType *string `json:"resourceType,omitempty"` +} + +func (o *PutSCIMGroupsByIDMeta) GetResourceType() *string { + if o == nil { + return nil + } + return o.ResourceType +} + +// PutSCIMGroupsByIDRequestBody - User object +type PutSCIMGroupsByIDRequestBody struct { + // schema of the resource + Schemas []PutSCIMGroupsByIDSchemas `json:"schemas,omitempty"` + // Display name for group. + DisplayName *string `json:"displayName,omitempty"` + Members []PutSCIMGroupsByIDMembers `json:"members,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` + // meta information + Meta *PutSCIMGroupsByIDMeta `json:"meta,omitempty"` +} + +func (o *PutSCIMGroupsByIDRequestBody) GetSchemas() []PutSCIMGroupsByIDSchemas { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *PutSCIMGroupsByIDRequestBody) GetDisplayName() *string { + if o == nil { + return nil + } + return o.DisplayName +} + +func (o *PutSCIMGroupsByIDRequestBody) GetMembers() []PutSCIMGroupsByIDMembers { + if o == nil { + return nil + } + return o.Members +} + +func (o *PutSCIMGroupsByIDRequestBody) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +func (o *PutSCIMGroupsByIDRequestBody) GetMeta() *PutSCIMGroupsByIDMeta { + if o == nil { + return nil + } + return o.Meta +} + +type PutSCIMGroupsByIDRequest struct { + // SCIM Used ID should be specified + ID string `pathParam:"style=simple,explode=false,name=id"` + // group to update + RequestBody *PutSCIMGroupsByIDRequestBody `request:"mediaType=application/json"` +} + +func (o *PutSCIMGroupsByIDRequest) GetID() string { + if o == nil { + return "" + } + return o.ID +} + +func (o *PutSCIMGroupsByIDRequest) GetRequestBody() *PutSCIMGroupsByIDRequestBody { + if o == nil { + return nil + } + return o.RequestBody +} + +type PutSCIMGroupsByIDSCIMGroupsResponseStatus string + +const ( + PutSCIMGroupsByIDSCIMGroupsResponseStatusFailed PutSCIMGroupsByIDSCIMGroupsResponseStatus = "failed" + PutSCIMGroupsByIDSCIMGroupsResponseStatusFiveHundredAndOne PutSCIMGroupsByIDSCIMGroupsResponseStatus = "501" +) + +func (e PutSCIMGroupsByIDSCIMGroupsResponseStatus) ToPointer() *PutSCIMGroupsByIDSCIMGroupsResponseStatus { + return &e +} + +func (e *PutSCIMGroupsByIDSCIMGroupsResponseStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "failed": + fallthrough + case "501": + *e = PutSCIMGroupsByIDSCIMGroupsResponseStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PutSCIMGroupsByIDSCIMGroupsResponseStatus: %v", v) + } +} + +// PutSCIMGroupsByIDSCIMGroupsResponse501ResponseBody - Internal error Failed +type PutSCIMGroupsByIDSCIMGroupsResponse501ResponseBody struct { + Status *PutSCIMGroupsByIDSCIMGroupsResponseStatus `json:"status,omitempty"` + Schemas *string `json:"schemas,omitempty"` + Detail *string `json:"detail,omitempty"` +} + +func (o *PutSCIMGroupsByIDSCIMGroupsResponse501ResponseBody) GetStatus() *PutSCIMGroupsByIDSCIMGroupsResponseStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *PutSCIMGroupsByIDSCIMGroupsResponse501ResponseBody) GetSchemas() *string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *PutSCIMGroupsByIDSCIMGroupsResponse501ResponseBody) GetDetail() *string { + if o == nil { + return nil + } + return o.Detail +} + +// PutSCIMGroupsByIDSCIMGroupsResponseResponseBody - Not authorized to execte the specific API. +type PutSCIMGroupsByIDSCIMGroupsResponseResponseBody struct { + Message *string `json:"message,omitempty"` +} + +func (o *PutSCIMGroupsByIDSCIMGroupsResponseResponseBody) GetMessage() *string { + if o == nil { + return nil + } + return o.Message +} + +type PutSCIMGroupsByIDSCIMGroupsStatus string + +const ( + PutSCIMGroupsByIDSCIMGroupsStatusFourHundred PutSCIMGroupsByIDSCIMGroupsStatus = "400" + PutSCIMGroupsByIDSCIMGroupsStatusFailed PutSCIMGroupsByIDSCIMGroupsStatus = "failed" +) + +func (e PutSCIMGroupsByIDSCIMGroupsStatus) ToPointer() *PutSCIMGroupsByIDSCIMGroupsStatus { + return &e +} + +func (e *PutSCIMGroupsByIDSCIMGroupsStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "400": + fallthrough + case "failed": + *e = PutSCIMGroupsByIDSCIMGroupsStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PutSCIMGroupsByIDSCIMGroupsStatus: %v", v) + } +} + +// PutSCIMGroupsByIDSCIMGroupsResponseBody - Failed +type PutSCIMGroupsByIDSCIMGroupsResponseBody struct { + Status *PutSCIMGroupsByIDSCIMGroupsStatus `json:"status,omitempty"` + Description *string `json:"description,omitempty"` + // schema of the resource + Schemas []string `json:"schemas,omitempty"` +} + +func (o *PutSCIMGroupsByIDSCIMGroupsResponseBody) GetStatus() *PutSCIMGroupsByIDSCIMGroupsStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *PutSCIMGroupsByIDSCIMGroupsResponseBody) GetDescription() *string { + if o == nil { + return nil + } + return o.Description +} + +func (o *PutSCIMGroupsByIDSCIMGroupsResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +type PutSCIMGroupsByIDSCIMGroupsSchemas string + +const ( + PutSCIMGroupsByIDSCIMGroupsSchemasUrnIetfParamsScimSchemasCore20Group PutSCIMGroupsByIDSCIMGroupsSchemas = "urn:ietf:params:scim:schemas:core:2.0:Group" +) + +func (e PutSCIMGroupsByIDSCIMGroupsSchemas) ToPointer() *PutSCIMGroupsByIDSCIMGroupsSchemas { + return &e +} + +func (e *PutSCIMGroupsByIDSCIMGroupsSchemas) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "urn:ietf:params:scim:schemas:core:2.0:Group": + *e = PutSCIMGroupsByIDSCIMGroupsSchemas(v) + return nil + default: + return fmt.Errorf("invalid value for PutSCIMGroupsByIDSCIMGroupsSchemas: %v", v) + } +} + +type PutSCIMGroupsByIDSCIMGroupsMembers struct { + Value *string `json:"value,omitempty"` +} + +func (o *PutSCIMGroupsByIDSCIMGroupsMembers) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +// PutSCIMGroupsByIDSCIMGroupsMeta - meta information +type PutSCIMGroupsByIDSCIMGroupsMeta struct { + // resource type User/Group. + ResourceType *string `json:"resourceType,omitempty"` +} + +func (o *PutSCIMGroupsByIDSCIMGroupsMeta) GetResourceType() *string { + if o == nil { + return nil + } + return o.ResourceType +} + +type PutSCIMGroupsByIDStatus int64 + +const ( + PutSCIMGroupsByIDStatusTwoHundredAndOne PutSCIMGroupsByIDStatus = 201 + PutSCIMGroupsByIDStatusTwoHundred PutSCIMGroupsByIDStatus = 200 +) + +func (e PutSCIMGroupsByIDStatus) ToPointer() *PutSCIMGroupsByIDStatus { + return &e +} + +func (e *PutSCIMGroupsByIDStatus) UnmarshalJSON(data []byte) error { + var v int64 + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case 201: + fallthrough + case 200: + *e = PutSCIMGroupsByIDStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PutSCIMGroupsByIDStatus: %v", v) + } +} + +// PutSCIMGroupsByIDResponseBody - Successfully updated the User. +type PutSCIMGroupsByIDResponseBody struct { + // SCIM Group ID + ID *string `json:"id,omitempty"` + // schema of the resource + Schemas []PutSCIMGroupsByIDSCIMGroupsSchemas `json:"schemas,omitempty"` + // Display name for group. + DisplayName *string `json:"displayName,omitempty"` + Members []PutSCIMGroupsByIDSCIMGroupsMembers `json:"members,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` + // meta information + Meta *PutSCIMGroupsByIDSCIMGroupsMeta `json:"meta,omitempty"` + Status *PutSCIMGroupsByIDStatus `json:"status,omitempty"` +} + +func (o *PutSCIMGroupsByIDResponseBody) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *PutSCIMGroupsByIDResponseBody) GetSchemas() []PutSCIMGroupsByIDSCIMGroupsSchemas { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *PutSCIMGroupsByIDResponseBody) GetDisplayName() *string { + if o == nil { + return nil + } + return o.DisplayName +} + +func (o *PutSCIMGroupsByIDResponseBody) GetMembers() []PutSCIMGroupsByIDSCIMGroupsMembers { + if o == nil { + return nil + } + return o.Members +} + +func (o *PutSCIMGroupsByIDResponseBody) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +func (o *PutSCIMGroupsByIDResponseBody) GetMeta() *PutSCIMGroupsByIDSCIMGroupsMeta { + if o == nil { + return nil + } + return o.Meta +} + +func (o *PutSCIMGroupsByIDResponseBody) GetStatus() *PutSCIMGroupsByIDStatus { + if o == nil { + return nil + } + return o.Status +} + +type PutSCIMGroupsByIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successfully updated the User. + TwoHundredApplicationJSONObject *PutSCIMGroupsByIDResponseBody + // Failed + FourHundredApplicationJSONObject *PutSCIMGroupsByIDSCIMGroupsResponseBody + // Not authorized to execte the specific API. + FourHundredAndThreeApplicationJSONObject *PutSCIMGroupsByIDSCIMGroupsResponseResponseBody + // Internal error Failed + FiveHundredAndOneApplicationJSONObject *PutSCIMGroupsByIDSCIMGroupsResponse501ResponseBody +} + +func (o *PutSCIMGroupsByIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PutSCIMGroupsByIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PutSCIMGroupsByIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PutSCIMGroupsByIDResponse) GetTwoHundredApplicationJSONObject() *PutSCIMGroupsByIDResponseBody { + if o == nil { + return nil + } + return o.TwoHundredApplicationJSONObject +} + +func (o *PutSCIMGroupsByIDResponse) GetFourHundredApplicationJSONObject() *PutSCIMGroupsByIDSCIMGroupsResponseBody { + if o == nil { + return nil + } + return o.FourHundredApplicationJSONObject +} + +func (o *PutSCIMGroupsByIDResponse) GetFourHundredAndThreeApplicationJSONObject() *PutSCIMGroupsByIDSCIMGroupsResponseResponseBody { + if o == nil { + return nil + } + return o.FourHundredAndThreeApplicationJSONObject +} + +func (o *PutSCIMGroupsByIDResponse) GetFiveHundredAndOneApplicationJSONObject() *PutSCIMGroupsByIDSCIMGroupsResponse501ResponseBody { + if o == nil { + return nil + } + return o.FiveHundredAndOneApplicationJSONObject +} diff --git a/internal/sdk/models/operations/putscimusersbyid.go b/internal/sdk/models/operations/putscimusersbyid.go new file mode 100644 index 0000000..3721036 --- /dev/null +++ b/internal/sdk/models/operations/putscimusersbyid.go @@ -0,0 +1,502 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "net/http" +) + +type PutSCIMUsersByIDSchemas string + +const ( + PutSCIMUsersByIDSchemasUrnIetfParamsScimSchemasCore20User PutSCIMUsersByIDSchemas = "urn:ietf:params:scim:schemas:core:2.0:User" +) + +func (e PutSCIMUsersByIDSchemas) ToPointer() *PutSCIMUsersByIDSchemas { + return &e +} + +func (e *PutSCIMUsersByIDSchemas) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "urn:ietf:params:scim:schemas:core:2.0:User": + *e = PutSCIMUsersByIDSchemas(v) + return nil + default: + return fmt.Errorf("invalid value for PutSCIMUsersByIDSchemas: %v", v) + } +} + +// PutSCIMUsersByIDName - Family_name and given_name for the User +type PutSCIMUsersByIDName struct { + // last_name of the SCIM User. + FamilyName *string `json:"familyName,omitempty"` + // first_name of the SCIM User. + GivenName *string `json:"givenName,omitempty"` +} + +func (o *PutSCIMUsersByIDName) GetFamilyName() *string { + if o == nil { + return nil + } + return o.FamilyName +} + +func (o *PutSCIMUsersByIDName) GetGivenName() *string { + if o == nil { + return nil + } + return o.GivenName +} + +type PutSCIMUsersByIDEmails struct { + // Email ID of the SCIM user + Value *string `json:"value,omitempty"` + Primary *bool `json:"primary,omitempty"` +} + +func (o *PutSCIMUsersByIDEmails) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +func (o *PutSCIMUsersByIDEmails) GetPrimary() *bool { + if o == nil { + return nil + } + return o.Primary +} + +// PutSCIMUsersByIDMeta - meta information +type PutSCIMUsersByIDMeta struct { + // resource type User/Group. + ResourceType *string `json:"resourceType,omitempty"` +} + +func (o *PutSCIMUsersByIDMeta) GetResourceType() *string { + if o == nil { + return nil + } + return o.ResourceType +} + +// PutSCIMUsersByIDRequestBody - User object +type PutSCIMUsersByIDRequestBody struct { + // schema of the resource + Schemas []PutSCIMUsersByIDSchemas `json:"schemas,omitempty"` + // UPN name of the SCIM User + UserName *string `json:"userName,omitempty"` + // Family_name and given_name for the User + Name *PutSCIMUsersByIDName `json:"name,omitempty"` + Active *bool `json:"active,omitempty"` + Emails []PutSCIMUsersByIDEmails `json:"emails,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` + // meta information + Meta *PutSCIMUsersByIDMeta `json:"meta,omitempty"` +} + +func (o *PutSCIMUsersByIDRequestBody) GetSchemas() []PutSCIMUsersByIDSchemas { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *PutSCIMUsersByIDRequestBody) GetUserName() *string { + if o == nil { + return nil + } + return o.UserName +} + +func (o *PutSCIMUsersByIDRequestBody) GetName() *PutSCIMUsersByIDName { + if o == nil { + return nil + } + return o.Name +} + +func (o *PutSCIMUsersByIDRequestBody) GetActive() *bool { + if o == nil { + return nil + } + return o.Active +} + +func (o *PutSCIMUsersByIDRequestBody) GetEmails() []PutSCIMUsersByIDEmails { + if o == nil { + return nil + } + return o.Emails +} + +func (o *PutSCIMUsersByIDRequestBody) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +func (o *PutSCIMUsersByIDRequestBody) GetMeta() *PutSCIMUsersByIDMeta { + if o == nil { + return nil + } + return o.Meta +} + +type PutSCIMUsersByIDRequest struct { + // SCIM Used ID should be specified + ID string `pathParam:"style=simple,explode=false,name=id"` + // user to update + RequestBody *PutSCIMUsersByIDRequestBody `request:"mediaType=application/json"` +} + +func (o *PutSCIMUsersByIDRequest) GetID() string { + if o == nil { + return "" + } + return o.ID +} + +func (o *PutSCIMUsersByIDRequest) GetRequestBody() *PutSCIMUsersByIDRequestBody { + if o == nil { + return nil + } + return o.RequestBody +} + +type PutSCIMUsersByIDSCIMUsersResponseStatus string + +const ( + PutSCIMUsersByIDSCIMUsersResponseStatusFailed PutSCIMUsersByIDSCIMUsersResponseStatus = "failed" + PutSCIMUsersByIDSCIMUsersResponseStatusFiveHundredAndOne PutSCIMUsersByIDSCIMUsersResponseStatus = "501" +) + +func (e PutSCIMUsersByIDSCIMUsersResponseStatus) ToPointer() *PutSCIMUsersByIDSCIMUsersResponseStatus { + return &e +} + +func (e *PutSCIMUsersByIDSCIMUsersResponseStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "failed": + fallthrough + case "501": + *e = PutSCIMUsersByIDSCIMUsersResponseStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PutSCIMUsersByIDSCIMUsersResponseStatus: %v", v) + } +} + +// PutSCIMUsersByIDSCIMUsersResponse501ResponseBody - Internal error Failed +type PutSCIMUsersByIDSCIMUsersResponse501ResponseBody struct { + Status *PutSCIMUsersByIDSCIMUsersResponseStatus `json:"status,omitempty"` + Schemas *string `json:"schemas,omitempty"` + Detail *string `json:"detail,omitempty"` +} + +func (o *PutSCIMUsersByIDSCIMUsersResponse501ResponseBody) GetStatus() *PutSCIMUsersByIDSCIMUsersResponseStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *PutSCIMUsersByIDSCIMUsersResponse501ResponseBody) GetSchemas() *string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *PutSCIMUsersByIDSCIMUsersResponse501ResponseBody) GetDetail() *string { + if o == nil { + return nil + } + return o.Detail +} + +// PutSCIMUsersByIDSCIMUsersResponseResponseBody - Not authorized to execte the specific API. +type PutSCIMUsersByIDSCIMUsersResponseResponseBody struct { + Message *string `json:"message,omitempty"` +} + +func (o *PutSCIMUsersByIDSCIMUsersResponseResponseBody) GetMessage() *string { + if o == nil { + return nil + } + return o.Message +} + +type PutSCIMUsersByIDSCIMUsersStatus string + +const ( + PutSCIMUsersByIDSCIMUsersStatusFourHundred PutSCIMUsersByIDSCIMUsersStatus = "400" + PutSCIMUsersByIDSCIMUsersStatusFailed PutSCIMUsersByIDSCIMUsersStatus = "failed" +) + +func (e PutSCIMUsersByIDSCIMUsersStatus) ToPointer() *PutSCIMUsersByIDSCIMUsersStatus { + return &e +} + +func (e *PutSCIMUsersByIDSCIMUsersStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "400": + fallthrough + case "failed": + *e = PutSCIMUsersByIDSCIMUsersStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PutSCIMUsersByIDSCIMUsersStatus: %v", v) + } +} + +// PutSCIMUsersByIDSCIMUsersResponseBody - Failed +type PutSCIMUsersByIDSCIMUsersResponseBody struct { + Status *PutSCIMUsersByIDSCIMUsersStatus `json:"status,omitempty"` + Description *string `json:"description,omitempty"` + // schema of the resource + Schemas []string `json:"schemas,omitempty"` +} + +func (o *PutSCIMUsersByIDSCIMUsersResponseBody) GetStatus() *PutSCIMUsersByIDSCIMUsersStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *PutSCIMUsersByIDSCIMUsersResponseBody) GetDescription() *string { + if o == nil { + return nil + } + return o.Description +} + +func (o *PutSCIMUsersByIDSCIMUsersResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +// PutSCIMUsersByIDSCIMUsersName - Family_name and given_name for the User +type PutSCIMUsersByIDSCIMUsersName struct { + // last_name of the SCIM User. + FamilyName *string `json:"familyName,omitempty"` + // first_name of the SCIM User. + GivenName *string `json:"givenName,omitempty"` +} + +func (o *PutSCIMUsersByIDSCIMUsersName) GetFamilyName() *string { + if o == nil { + return nil + } + return o.FamilyName +} + +func (o *PutSCIMUsersByIDSCIMUsersName) GetGivenName() *string { + if o == nil { + return nil + } + return o.GivenName +} + +type PutSCIMUsersByIDSCIMUsersEmails struct { + // Email ID of the SCIM user + Value *string `json:"value,omitempty"` + Primary *bool `json:"primary,omitempty"` +} + +func (o *PutSCIMUsersByIDSCIMUsersEmails) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +func (o *PutSCIMUsersByIDSCIMUsersEmails) GetPrimary() *bool { + if o == nil { + return nil + } + return o.Primary +} + +type PutSCIMUsersByIDStatus int64 + +const ( + PutSCIMUsersByIDStatusTwoHundred PutSCIMUsersByIDStatus = 200 +) + +func (e PutSCIMUsersByIDStatus) ToPointer() *PutSCIMUsersByIDStatus { + return &e +} + +func (e *PutSCIMUsersByIDStatus) UnmarshalJSON(data []byte) error { + var v int64 + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case 200: + *e = PutSCIMUsersByIDStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PutSCIMUsersByIDStatus: %v", v) + } +} + +// PutSCIMUsersByIDResponseBody - Successfully updated the User. +type PutSCIMUsersByIDResponseBody struct { + // schema of the resource + Schemas []string `json:"schemas,omitempty"` + // SCIM User ID + ID *string `json:"id,omitempty"` + // UPN name of the SCIM User + UserName *string `json:"userName,omitempty"` + // Family_name and given_name for the User + Name *PutSCIMUsersByIDSCIMUsersName `json:"name,omitempty"` + Active *bool `json:"active,omitempty"` + Emails []PutSCIMUsersByIDSCIMUsersEmails `json:"emails,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` + Status *PutSCIMUsersByIDStatus `json:"status,omitempty"` +} + +func (o *PutSCIMUsersByIDResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *PutSCIMUsersByIDResponseBody) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *PutSCIMUsersByIDResponseBody) GetUserName() *string { + if o == nil { + return nil + } + return o.UserName +} + +func (o *PutSCIMUsersByIDResponseBody) GetName() *PutSCIMUsersByIDSCIMUsersName { + if o == nil { + return nil + } + return o.Name +} + +func (o *PutSCIMUsersByIDResponseBody) GetActive() *bool { + if o == nil { + return nil + } + return o.Active +} + +func (o *PutSCIMUsersByIDResponseBody) GetEmails() []PutSCIMUsersByIDSCIMUsersEmails { + if o == nil { + return nil + } + return o.Emails +} + +func (o *PutSCIMUsersByIDResponseBody) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +func (o *PutSCIMUsersByIDResponseBody) GetStatus() *PutSCIMUsersByIDStatus { + if o == nil { + return nil + } + return o.Status +} + +type PutSCIMUsersByIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successfully updated the User. + TwoHundredApplicationJSONObject *PutSCIMUsersByIDResponseBody + // Failed + FourHundredApplicationJSONObject *PutSCIMUsersByIDSCIMUsersResponseBody + // Not authorized to execte the specific API. + FourHundredAndThreeApplicationJSONObject *PutSCIMUsersByIDSCIMUsersResponseResponseBody + // Internal error Failed + FiveHundredAndOneApplicationJSONObject *PutSCIMUsersByIDSCIMUsersResponse501ResponseBody +} + +func (o *PutSCIMUsersByIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PutSCIMUsersByIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PutSCIMUsersByIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PutSCIMUsersByIDResponse) GetTwoHundredApplicationJSONObject() *PutSCIMUsersByIDResponseBody { + if o == nil { + return nil + } + return o.TwoHundredApplicationJSONObject +} + +func (o *PutSCIMUsersByIDResponse) GetFourHundredApplicationJSONObject() *PutSCIMUsersByIDSCIMUsersResponseBody { + if o == nil { + return nil + } + return o.FourHundredApplicationJSONObject +} + +func (o *PutSCIMUsersByIDResponse) GetFourHundredAndThreeApplicationJSONObject() *PutSCIMUsersByIDSCIMUsersResponseResponseBody { + if o == nil { + return nil + } + return o.FourHundredAndThreeApplicationJSONObject +} + +func (o *PutSCIMUsersByIDResponse) GetFiveHundredAndOneApplicationJSONObject() *PutSCIMUsersByIDSCIMUsersResponse501ResponseBody { + if o == nil { + return nil + } + return o.FiveHundredAndOneApplicationJSONObject +} diff --git a/internal/sdk/models/operations/putusersid.go b/internal/sdk/models/operations/putusersid.go new file mode 100644 index 0000000..4f32085 --- /dev/null +++ b/internal/sdk/models/operations/putusersid.go @@ -0,0 +1,502 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "net/http" +) + +type PutUsersIDSchemas string + +const ( + PutUsersIDSchemasUrnIetfParamsScimSchemasCore20User PutUsersIDSchemas = "urn:ietf:params:scim:schemas:core:2.0:User" +) + +func (e PutUsersIDSchemas) ToPointer() *PutUsersIDSchemas { + return &e +} + +func (e *PutUsersIDSchemas) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "urn:ietf:params:scim:schemas:core:2.0:User": + *e = PutUsersIDSchemas(v) + return nil + default: + return fmt.Errorf("invalid value for PutUsersIDSchemas: %v", v) + } +} + +// PutUsersIDName - Family_name and given_name for the User +type PutUsersIDName struct { + // last_name of the SCIM User. + FamilyName *string `json:"familyName,omitempty"` + // first_name of the SCIM User. + GivenName *string `json:"givenName,omitempty"` +} + +func (o *PutUsersIDName) GetFamilyName() *string { + if o == nil { + return nil + } + return o.FamilyName +} + +func (o *PutUsersIDName) GetGivenName() *string { + if o == nil { + return nil + } + return o.GivenName +} + +type PutUsersIDEmails struct { + // Email ID of the SCIM user + Value *string `json:"value,omitempty"` + Primary *bool `json:"primary,omitempty"` +} + +func (o *PutUsersIDEmails) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +func (o *PutUsersIDEmails) GetPrimary() *bool { + if o == nil { + return nil + } + return o.Primary +} + +// PutUsersIDMeta - meta information +type PutUsersIDMeta struct { + // resource type User/Group. + ResourceType *string `json:"resourceType,omitempty"` +} + +func (o *PutUsersIDMeta) GetResourceType() *string { + if o == nil { + return nil + } + return o.ResourceType +} + +// PutUsersIDRequestBody - User object +type PutUsersIDRequestBody struct { + // schema of the resource + Schemas []PutUsersIDSchemas `json:"schemas,omitempty"` + // UPN name of the SCIM User + UserName *string `json:"userName,omitempty"` + // Family_name and given_name for the User + Name *PutUsersIDName `json:"name,omitempty"` + Active *bool `json:"active,omitempty"` + Emails []PutUsersIDEmails `json:"emails,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` + // meta information + Meta *PutUsersIDMeta `json:"meta,omitempty"` +} + +func (o *PutUsersIDRequestBody) GetSchemas() []PutUsersIDSchemas { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *PutUsersIDRequestBody) GetUserName() *string { + if o == nil { + return nil + } + return o.UserName +} + +func (o *PutUsersIDRequestBody) GetName() *PutUsersIDName { + if o == nil { + return nil + } + return o.Name +} + +func (o *PutUsersIDRequestBody) GetActive() *bool { + if o == nil { + return nil + } + return o.Active +} + +func (o *PutUsersIDRequestBody) GetEmails() []PutUsersIDEmails { + if o == nil { + return nil + } + return o.Emails +} + +func (o *PutUsersIDRequestBody) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +func (o *PutUsersIDRequestBody) GetMeta() *PutUsersIDMeta { + if o == nil { + return nil + } + return o.Meta +} + +type PutUsersIDRequest struct { + // SCIM Used ID should be specified + ID string `pathParam:"style=simple,explode=false,name=id"` + // user to update + RequestBody *PutUsersIDRequestBody `request:"mediaType=application/scim+json"` +} + +func (o *PutUsersIDRequest) GetID() string { + if o == nil { + return "" + } + return o.ID +} + +func (o *PutUsersIDRequest) GetRequestBody() *PutUsersIDRequestBody { + if o == nil { + return nil + } + return o.RequestBody +} + +type PutUsersIDScimUsersResponseStatus string + +const ( + PutUsersIDScimUsersResponseStatusFailed PutUsersIDScimUsersResponseStatus = "failed" + PutUsersIDScimUsersResponseStatusFiveHundredAndOne PutUsersIDScimUsersResponseStatus = "501" +) + +func (e PutUsersIDScimUsersResponseStatus) ToPointer() *PutUsersIDScimUsersResponseStatus { + return &e +} + +func (e *PutUsersIDScimUsersResponseStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "failed": + fallthrough + case "501": + *e = PutUsersIDScimUsersResponseStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PutUsersIDScimUsersResponseStatus: %v", v) + } +} + +// PutUsersIDScimUsersResponse501ResponseBody - Internal error Failed +type PutUsersIDScimUsersResponse501ResponseBody struct { + Status *PutUsersIDScimUsersResponseStatus `json:"status,omitempty"` + Schemas *string `json:"schemas,omitempty"` + Detail *string `json:"detail,omitempty"` +} + +func (o *PutUsersIDScimUsersResponse501ResponseBody) GetStatus() *PutUsersIDScimUsersResponseStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *PutUsersIDScimUsersResponse501ResponseBody) GetSchemas() *string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *PutUsersIDScimUsersResponse501ResponseBody) GetDetail() *string { + if o == nil { + return nil + } + return o.Detail +} + +// PutUsersIDScimUsersResponseResponseBody - Not authorized to execte the specific API. +type PutUsersIDScimUsersResponseResponseBody struct { + Message *string `json:"message,omitempty"` +} + +func (o *PutUsersIDScimUsersResponseResponseBody) GetMessage() *string { + if o == nil { + return nil + } + return o.Message +} + +type PutUsersIDScimUsersStatus string + +const ( + PutUsersIDScimUsersStatusFourHundred PutUsersIDScimUsersStatus = "400" + PutUsersIDScimUsersStatusFailed PutUsersIDScimUsersStatus = "failed" +) + +func (e PutUsersIDScimUsersStatus) ToPointer() *PutUsersIDScimUsersStatus { + return &e +} + +func (e *PutUsersIDScimUsersStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "400": + fallthrough + case "failed": + *e = PutUsersIDScimUsersStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PutUsersIDScimUsersStatus: %v", v) + } +} + +// PutUsersIDScimUsersResponseBody - Failed +type PutUsersIDScimUsersResponseBody struct { + Status *PutUsersIDScimUsersStatus `json:"status,omitempty"` + Description *string `json:"description,omitempty"` + // schema of the resource + Schemas []string `json:"schemas,omitempty"` +} + +func (o *PutUsersIDScimUsersResponseBody) GetStatus() *PutUsersIDScimUsersStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *PutUsersIDScimUsersResponseBody) GetDescription() *string { + if o == nil { + return nil + } + return o.Description +} + +func (o *PutUsersIDScimUsersResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +// PutUsersIDScimUsersName - Family_name and given_name for the User +type PutUsersIDScimUsersName struct { + // last_name of the SCIM User. + FamilyName *string `json:"familyName,omitempty"` + // first_name of the SCIM User. + GivenName *string `json:"givenName,omitempty"` +} + +func (o *PutUsersIDScimUsersName) GetFamilyName() *string { + if o == nil { + return nil + } + return o.FamilyName +} + +func (o *PutUsersIDScimUsersName) GetGivenName() *string { + if o == nil { + return nil + } + return o.GivenName +} + +type PutUsersIDScimUsersEmails struct { + // Email ID of the SCIM user + Value *string `json:"value,omitempty"` + Primary *bool `json:"primary,omitempty"` +} + +func (o *PutUsersIDScimUsersEmails) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +func (o *PutUsersIDScimUsersEmails) GetPrimary() *bool { + if o == nil { + return nil + } + return o.Primary +} + +type PutUsersIDStatus int64 + +const ( + PutUsersIDStatusTwoHundred PutUsersIDStatus = 200 +) + +func (e PutUsersIDStatus) ToPointer() *PutUsersIDStatus { + return &e +} + +func (e *PutUsersIDStatus) UnmarshalJSON(data []byte) error { + var v int64 + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case 200: + *e = PutUsersIDStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PutUsersIDStatus: %v", v) + } +} + +// PutUsersIDResponseBody - Successfully updated the User. +type PutUsersIDResponseBody struct { + // schema of the resource + Schemas []string `json:"schemas,omitempty"` + // SCIM User ID + ID *string `json:"id,omitempty"` + // UPN name of the SCIM User + UserName *string `json:"userName,omitempty"` + // Family_name and given_name for the User + Name *PutUsersIDScimUsersName `json:"name,omitempty"` + Active *bool `json:"active,omitempty"` + Emails []PutUsersIDScimUsersEmails `json:"emails,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` + Status *PutUsersIDStatus `json:"status,omitempty"` +} + +func (o *PutUsersIDResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *PutUsersIDResponseBody) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *PutUsersIDResponseBody) GetUserName() *string { + if o == nil { + return nil + } + return o.UserName +} + +func (o *PutUsersIDResponseBody) GetName() *PutUsersIDScimUsersName { + if o == nil { + return nil + } + return o.Name +} + +func (o *PutUsersIDResponseBody) GetActive() *bool { + if o == nil { + return nil + } + return o.Active +} + +func (o *PutUsersIDResponseBody) GetEmails() []PutUsersIDScimUsersEmails { + if o == nil { + return nil + } + return o.Emails +} + +func (o *PutUsersIDResponseBody) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +func (o *PutUsersIDResponseBody) GetStatus() *PutUsersIDStatus { + if o == nil { + return nil + } + return o.Status +} + +type PutUsersIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successfully updated the User. + TwoHundredApplicationScimPlusJSONObject *PutUsersIDResponseBody + // Failed + FourHundredApplicationJSONObject *PutUsersIDScimUsersResponseBody + // Not authorized to execte the specific API. + FourHundredAndThreeApplicationJSONObject *PutUsersIDScimUsersResponseResponseBody + // Internal error Failed + FiveHundredAndOneApplicationJSONObject *PutUsersIDScimUsersResponse501ResponseBody +} + +func (o *PutUsersIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PutUsersIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PutUsersIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PutUsersIDResponse) GetTwoHundredApplicationScimPlusJSONObject() *PutUsersIDResponseBody { + if o == nil { + return nil + } + return o.TwoHundredApplicationScimPlusJSONObject +} + +func (o *PutUsersIDResponse) GetFourHundredApplicationJSONObject() *PutUsersIDScimUsersResponseBody { + if o == nil { + return nil + } + return o.FourHundredApplicationJSONObject +} + +func (o *PutUsersIDResponse) GetFourHundredAndThreeApplicationJSONObject() *PutUsersIDScimUsersResponseResponseBody { + if o == nil { + return nil + } + return o.FourHundredAndThreeApplicationJSONObject +} + +func (o *PutUsersIDResponse) GetFiveHundredAndOneApplicationJSONObject() *PutUsersIDScimUsersResponse501ResponseBody { + if o == nil { + return nil + } + return o.FiveHundredAndOneApplicationJSONObject +} diff --git a/internal/sdk/pkg/models/operations/poststeeringappsprivategetpolicyinuse.go b/internal/sdk/models/operations/querynpapolicyinuse.go similarity index 52% rename from internal/sdk/pkg/models/operations/poststeeringappsprivategetpolicyinuse.go rename to internal/sdk/models/operations/querynpapolicyinuse.go index 53a4d22..7c9ff52 100644 --- a/internal/sdk/pkg/models/operations/poststeeringappsprivategetpolicyinuse.go +++ b/internal/sdk/models/operations/querynpapolicyinuse.go @@ -3,15 +3,15 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type PostSteeringAppsPrivateGetpolicyinuseRequestBody struct { +type QueryNPAPolicyInUseRequestBody struct { Ids []string `json:"ids,omitempty"` } -func (o *PostSteeringAppsPrivateGetpolicyinuseRequestBody) GetIds() []string { +func (o *QueryNPAPolicyInUseRequestBody) GetIds() []string { if o == nil { return nil } @@ -29,19 +29,19 @@ func (o *Data) GetToken() *string { return o.Token } -// PostSteeringAppsPrivateGetpolicyinuseResponseBody - successful operation -type PostSteeringAppsPrivateGetpolicyinuseResponseBody struct { +// QueryNPAPolicyInUseResponseBody - successful operation +type QueryNPAPolicyInUseResponseBody struct { Data []Data `json:"data,omitempty"` } -func (o *PostSteeringAppsPrivateGetpolicyinuseResponseBody) GetData() []Data { +func (o *QueryNPAPolicyInUseResponseBody) GetData() []Data { if o == nil { return nil } return o.Data } -type PostSteeringAppsPrivateGetpolicyinuseResponse struct { +type QueryNPAPolicyInUseResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -49,40 +49,40 @@ type PostSteeringAppsPrivateGetpolicyinuseResponse struct { // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response // successful operation - Object *PostSteeringAppsPrivateGetpolicyinuseResponseBody + Object *QueryNPAPolicyInUseResponseBody // Invalid request PrivateAppsResponse400 *shared.PrivateAppsResponse400 } -func (o *PostSteeringAppsPrivateGetpolicyinuseResponse) GetContentType() string { +func (o *QueryNPAPolicyInUseResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *PostSteeringAppsPrivateGetpolicyinuseResponse) GetStatusCode() int { +func (o *QueryNPAPolicyInUseResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *PostSteeringAppsPrivateGetpolicyinuseResponse) GetRawResponse() *http.Response { +func (o *QueryNPAPolicyInUseResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *PostSteeringAppsPrivateGetpolicyinuseResponse) GetObject() *PostSteeringAppsPrivateGetpolicyinuseResponseBody { +func (o *QueryNPAPolicyInUseResponse) GetObject() *QueryNPAPolicyInUseResponseBody { if o == nil { return nil } return o.Object } -func (o *PostSteeringAppsPrivateGetpolicyinuseResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { +func (o *QueryNPAPolicyInUseResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { if o == nil { return nil } diff --git a/internal/sdk/models/operations/replacenpaappsbyid.go b/internal/sdk/models/operations/replacenpaappsbyid.go new file mode 100644 index 0000000..0e66136 --- /dev/null +++ b/internal/sdk/models/operations/replacenpaappsbyid.go @@ -0,0 +1,115 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" + "net/http" +) + +// ReplaceNPAAppsByIDQueryParamSilent - flag to skip output except status code +type ReplaceNPAAppsByIDQueryParamSilent string + +const ( + ReplaceNPAAppsByIDQueryParamSilentOne ReplaceNPAAppsByIDQueryParamSilent = "1" + ReplaceNPAAppsByIDQueryParamSilentZero ReplaceNPAAppsByIDQueryParamSilent = "0" +) + +func (e ReplaceNPAAppsByIDQueryParamSilent) ToPointer() *ReplaceNPAAppsByIDQueryParamSilent { + return &e +} + +func (e *ReplaceNPAAppsByIDQueryParamSilent) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "1": + fallthrough + case "0": + *e = ReplaceNPAAppsByIDQueryParamSilent(v) + return nil + default: + return fmt.Errorf("invalid value for ReplaceNPAAppsByIDQueryParamSilent: %v", v) + } +} + +type ReplaceNPAAppsByIDRequest struct { + // private apps id + PrivateAppID int `pathParam:"style=simple,explode=false,name=private_app_id"` + // flag to skip output except status code + Silent *ReplaceNPAAppsByIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + PrivateAppsPutRequest shared.PrivateAppsPutRequest `request:"mediaType=application/json"` +} + +func (o *ReplaceNPAAppsByIDRequest) GetPrivateAppID() int { + if o == nil { + return 0 + } + return o.PrivateAppID +} + +func (o *ReplaceNPAAppsByIDRequest) GetSilent() *ReplaceNPAAppsByIDQueryParamSilent { + if o == nil { + return nil + } + return o.Silent +} + +func (o *ReplaceNPAAppsByIDRequest) GetPrivateAppsPutRequest() shared.PrivateAppsPutRequest { + if o == nil { + return shared.PrivateAppsPutRequest{} + } + return o.PrivateAppsPutRequest +} + +type ReplaceNPAAppsByIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + PrivateAppsResponse *shared.PrivateAppsResponse + // Invalid request + PrivateAppsResponse400 *shared.PrivateAppsResponse400 +} + +func (o *ReplaceNPAAppsByIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *ReplaceNPAAppsByIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *ReplaceNPAAppsByIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *ReplaceNPAAppsByIDResponse) GetPrivateAppsResponse() *shared.PrivateAppsResponse { + if o == nil { + return nil + } + return o.PrivateAppsResponse +} + +func (o *ReplaceNPAAppsByIDResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { + if o == nil { + return nil + } + return o.PrivateAppsResponse400 +} diff --git a/internal/sdk/pkg/models/operations/putinfrastructurepublisherspublisherid.go b/internal/sdk/models/operations/replacenpapublisherbyid.go similarity index 68% rename from internal/sdk/pkg/models/operations/putinfrastructurepublisherspublisherid.go rename to internal/sdk/models/operations/replacenpapublisherbyid.go index b15df39..8957f0f 100644 --- a/internal/sdk/pkg/models/operations/putinfrastructurepublisherspublisherid.go +++ b/internal/sdk/models/operations/replacenpapublisherbyid.go @@ -5,7 +5,7 @@ package operations import ( "encoding/json" "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) @@ -37,7 +37,7 @@ func (e *QueryParamSilent) UnmarshalJSON(data []byte) error { } } -type PutInfrastructurePublishersPublisherIDRequest struct { +type ReplaceNPAPublisherByIDRequest struct { // publisher id PublisherID int `pathParam:"style=simple,explode=false,name=publisher_id"` // flag to skip output except status code @@ -45,28 +45,28 @@ type PutInfrastructurePublishersPublisherIDRequest struct { PublisherPutRequest shared.PublisherPutRequest `request:"mediaType=application/json"` } -func (o *PutInfrastructurePublishersPublisherIDRequest) GetPublisherID() int { +func (o *ReplaceNPAPublisherByIDRequest) GetPublisherID() int { if o == nil { return 0 } return o.PublisherID } -func (o *PutInfrastructurePublishersPublisherIDRequest) GetSilent() *QueryParamSilent { +func (o *ReplaceNPAPublisherByIDRequest) GetSilent() *QueryParamSilent { if o == nil { return nil } return o.Silent } -func (o *PutInfrastructurePublishersPublisherIDRequest) GetPublisherPutRequest() shared.PublisherPutRequest { +func (o *ReplaceNPAPublisherByIDRequest) GetPublisherPutRequest() shared.PublisherPutRequest { if o == nil { return shared.PublisherPutRequest{} } return o.PublisherPutRequest } -type PutInfrastructurePublishersPublisherIDResponse struct { +type ReplaceNPAPublisherByIDResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -79,35 +79,35 @@ type PutInfrastructurePublishersPublisherIDResponse struct { PublishersResponse400 *shared.PublishersResponse400 } -func (o *PutInfrastructurePublishersPublisherIDResponse) GetContentType() string { +func (o *ReplaceNPAPublisherByIDResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *PutInfrastructurePublishersPublisherIDResponse) GetStatusCode() int { +func (o *ReplaceNPAPublisherByIDResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *PutInfrastructurePublishersPublisherIDResponse) GetRawResponse() *http.Response { +func (o *ReplaceNPAPublisherByIDResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *PutInfrastructurePublishersPublisherIDResponse) GetPublisherResponse() *shared.PublisherResponse { +func (o *ReplaceNPAPublisherByIDResponse) GetPublisherResponse() *shared.PublisherResponse { if o == nil { return nil } return o.PublisherResponse } -func (o *PutInfrastructurePublishersPublisherIDResponse) GetPublishersResponse400() *shared.PublishersResponse400 { +func (o *ReplaceNPAPublisherByIDResponse) GetPublishersResponse400() *shared.PublishersResponse400 { if o == nil { return nil } diff --git a/internal/sdk/models/operations/replacenpapublisherupgradeprofiles.go b/internal/sdk/models/operations/replacenpapublisherupgradeprofiles.go new file mode 100644 index 0000000..f5af552 --- /dev/null +++ b/internal/sdk/models/operations/replacenpapublisherupgradeprofiles.go @@ -0,0 +1,115 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" + "net/http" +) + +// ReplaceNPAPublisherUpgradeProfilesQueryParamSilent - flag to skip output except status code +type ReplaceNPAPublisherUpgradeProfilesQueryParamSilent string + +const ( + ReplaceNPAPublisherUpgradeProfilesQueryParamSilentOne ReplaceNPAPublisherUpgradeProfilesQueryParamSilent = "1" + ReplaceNPAPublisherUpgradeProfilesQueryParamSilentZero ReplaceNPAPublisherUpgradeProfilesQueryParamSilent = "0" +) + +func (e ReplaceNPAPublisherUpgradeProfilesQueryParamSilent) ToPointer() *ReplaceNPAPublisherUpgradeProfilesQueryParamSilent { + return &e +} + +func (e *ReplaceNPAPublisherUpgradeProfilesQueryParamSilent) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "1": + fallthrough + case "0": + *e = ReplaceNPAPublisherUpgradeProfilesQueryParamSilent(v) + return nil + default: + return fmt.Errorf("invalid value for ReplaceNPAPublisherUpgradeProfilesQueryParamSilent: %v", v) + } +} + +type ReplaceNPAPublisherUpgradeProfilesRequest struct { + // publisher upgrade profile id + UpgradeProfileID int `pathParam:"style=simple,explode=false,name=upgrade_profile_id"` + // flag to skip output except status code + Silent *ReplaceNPAPublisherUpgradeProfilesQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + PublisherUpgradeProfilePutRequest shared.PublisherUpgradeProfilePutRequest `request:"mediaType=application/json"` +} + +func (o *ReplaceNPAPublisherUpgradeProfilesRequest) GetUpgradeProfileID() int { + if o == nil { + return 0 + } + return o.UpgradeProfileID +} + +func (o *ReplaceNPAPublisherUpgradeProfilesRequest) GetSilent() *ReplaceNPAPublisherUpgradeProfilesQueryParamSilent { + if o == nil { + return nil + } + return o.Silent +} + +func (o *ReplaceNPAPublisherUpgradeProfilesRequest) GetPublisherUpgradeProfilePutRequest() shared.PublisherUpgradeProfilePutRequest { + if o == nil { + return shared.PublisherUpgradeProfilePutRequest{} + } + return o.PublisherUpgradeProfilePutRequest +} + +type ReplaceNPAPublisherUpgradeProfilesResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + PublisherUpgradeProfileResponse *shared.PublisherUpgradeProfileResponse + // Invalid request + FourHundred *shared.FourHundred +} + +func (o *ReplaceNPAPublisherUpgradeProfilesResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *ReplaceNPAPublisherUpgradeProfilesResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *ReplaceNPAPublisherUpgradeProfilesResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *ReplaceNPAPublisherUpgradeProfilesResponse) GetPublisherUpgradeProfileResponse() *shared.PublisherUpgradeProfileResponse { + if o == nil { + return nil + } + return o.PublisherUpgradeProfileResponse +} + +func (o *ReplaceNPAPublisherUpgradeProfilesResponse) GetFourHundred() *shared.FourHundred { + if o == nil { + return nil + } + return o.FourHundred +} diff --git a/internal/sdk/pkg/models/operations/putsteeringappsprivatetagstagid.go b/internal/sdk/models/operations/replacenpatagsbyid.go similarity index 61% rename from internal/sdk/pkg/models/operations/putsteeringappsprivatetagstagid.go rename to internal/sdk/models/operations/replacenpatagsbyid.go index 7bd8679..f1dd880 100644 --- a/internal/sdk/pkg/models/operations/putsteeringappsprivatetagstagid.go +++ b/internal/sdk/models/operations/replacenpatagsbyid.go @@ -3,31 +3,31 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type PutSteeringAppsPrivateTagsTagIDRequest struct { +type ReplaceNPATagsByIDRequest struct { // tag id TagID int `pathParam:"style=simple,explode=false,name=tag_id"` TagRequest shared.TagRequest `request:"mediaType=application/json"` } -func (o *PutSteeringAppsPrivateTagsTagIDRequest) GetTagID() int { +func (o *ReplaceNPATagsByIDRequest) GetTagID() int { if o == nil { return 0 } return o.TagID } -func (o *PutSteeringAppsPrivateTagsTagIDRequest) GetTagRequest() shared.TagRequest { +func (o *ReplaceNPATagsByIDRequest) GetTagRequest() shared.TagRequest { if o == nil { return shared.TagRequest{} } return o.TagRequest } -type PutSteeringAppsPrivateTagsTagIDResponse struct { +type ReplaceNPATagsByIDResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -40,35 +40,35 @@ type PutSteeringAppsPrivateTagsTagIDResponse struct { TagResponse400 *shared.TagResponse400 } -func (o *PutSteeringAppsPrivateTagsTagIDResponse) GetContentType() string { +func (o *ReplaceNPATagsByIDResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *PutSteeringAppsPrivateTagsTagIDResponse) GetStatusCode() int { +func (o *ReplaceNPATagsByIDResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *PutSteeringAppsPrivateTagsTagIDResponse) GetRawResponse() *http.Response { +func (o *ReplaceNPATagsByIDResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *PutSteeringAppsPrivateTagsTagIDResponse) GetTagResponse() *shared.TagResponse { +func (o *ReplaceNPATagsByIDResponse) GetTagResponse() *shared.TagResponse { if o == nil { return nil } return o.TagResponse } -func (o *PutSteeringAppsPrivateTagsTagIDResponse) GetTagResponse400() *shared.TagResponse400 { +func (o *ReplaceNPATagsByIDResponse) GetTagResponse400() *shared.TagResponse400 { if o == nil { return nil } diff --git a/internal/sdk/models/operations/retrievenpapoliciesinuse.go b/internal/sdk/models/operations/retrievenpapoliciesinuse.go new file mode 100644 index 0000000..922b570 --- /dev/null +++ b/internal/sdk/models/operations/retrievenpapoliciesinuse.go @@ -0,0 +1,90 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" + "net/http" +) + +type RetrieveNPAPoliciesInUseRequestBody struct { + Ids []string `json:"ids,omitempty"` +} + +func (o *RetrieveNPAPoliciesInUseRequestBody) GetIds() []string { + if o == nil { + return nil + } + return o.Ids +} + +type RetrieveNPAPoliciesInUseData struct { + Token *string `json:"token,omitempty"` +} + +func (o *RetrieveNPAPoliciesInUseData) GetToken() *string { + if o == nil { + return nil + } + return o.Token +} + +// RetrieveNPAPoliciesInUseResponseBody - successful operation +type RetrieveNPAPoliciesInUseResponseBody struct { + Data []RetrieveNPAPoliciesInUseData `json:"data,omitempty"` +} + +func (o *RetrieveNPAPoliciesInUseResponseBody) GetData() []RetrieveNPAPoliciesInUseData { + if o == nil { + return nil + } + return o.Data +} + +type RetrieveNPAPoliciesInUseResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + Object *RetrieveNPAPoliciesInUseResponseBody + // Invalid request + TagResponse400 *shared.TagResponse400 +} + +func (o *RetrieveNPAPoliciesInUseResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *RetrieveNPAPoliciesInUseResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *RetrieveNPAPoliciesInUseResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *RetrieveNPAPoliciesInUseResponse) GetObject() *RetrieveNPAPoliciesInUseResponseBody { + if o == nil { + return nil + } + return o.Object +} + +func (o *RetrieveNPAPoliciesInUseResponse) GetTagResponse400() *shared.TagResponse400 { + if o == nil { + return nil + } + return o.TagResponse400 +} diff --git a/internal/sdk/pkg/models/operations/putinfrastructurepublishersbulk.go b/internal/sdk/models/operations/triggernpapublisherupdate.go similarity index 61% rename from internal/sdk/pkg/models/operations/putinfrastructurepublishersbulk.go rename to internal/sdk/models/operations/triggernpapublisherupdate.go index 52f9c84..753ea25 100644 --- a/internal/sdk/pkg/models/operations/putinfrastructurepublishersbulk.go +++ b/internal/sdk/models/operations/triggernpapublisherupdate.go @@ -3,11 +3,11 @@ package operations import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "net/http" ) -type PutInfrastructurePublishersBulkResponse struct { +type TriggerNPAPublisherUpdateResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation @@ -20,35 +20,35 @@ type PutInfrastructurePublishersBulkResponse struct { PublishersResponse400 *shared.PublishersResponse400 } -func (o *PutInfrastructurePublishersBulkResponse) GetContentType() string { +func (o *TriggerNPAPublisherUpdateResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } -func (o *PutInfrastructurePublishersBulkResponse) GetStatusCode() int { +func (o *TriggerNPAPublisherUpdateResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } -func (o *PutInfrastructurePublishersBulkResponse) GetRawResponse() *http.Response { +func (o *TriggerNPAPublisherUpdateResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } -func (o *PutInfrastructurePublishersBulkResponse) GetPublishersBulkResponse() *shared.PublishersBulkResponse { +func (o *TriggerNPAPublisherUpdateResponse) GetPublishersBulkResponse() *shared.PublishersBulkResponse { if o == nil { return nil } return o.PublishersBulkResponse } -func (o *PutInfrastructurePublishersBulkResponse) GetPublishersResponse400() *shared.PublishersResponse400 { +func (o *TriggerNPAPublisherUpdateResponse) GetPublishersResponse400() *shared.PublishersResponse400 { if o == nil { return nil } diff --git a/internal/sdk/models/operations/updatenpapublisherbyid.go b/internal/sdk/models/operations/updatenpapublisherbyid.go new file mode 100644 index 0000000..268e21a --- /dev/null +++ b/internal/sdk/models/operations/updatenpapublisherbyid.go @@ -0,0 +1,115 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" + "net/http" +) + +// UpdateNPAPublisherByIDQueryParamSilent - flag to skip output except status code +type UpdateNPAPublisherByIDQueryParamSilent string + +const ( + UpdateNPAPublisherByIDQueryParamSilentOne UpdateNPAPublisherByIDQueryParamSilent = "1" + UpdateNPAPublisherByIDQueryParamSilentZero UpdateNPAPublisherByIDQueryParamSilent = "0" +) + +func (e UpdateNPAPublisherByIDQueryParamSilent) ToPointer() *UpdateNPAPublisherByIDQueryParamSilent { + return &e +} + +func (e *UpdateNPAPublisherByIDQueryParamSilent) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "1": + fallthrough + case "0": + *e = UpdateNPAPublisherByIDQueryParamSilent(v) + return nil + default: + return fmt.Errorf("invalid value for UpdateNPAPublisherByIDQueryParamSilent: %v", v) + } +} + +type UpdateNPAPublisherByIDRequest struct { + // publisher id + PublisherID int `pathParam:"style=simple,explode=false,name=publisher_id"` + // flag to skip output except status code + Silent *UpdateNPAPublisherByIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + PublisherPutRequest shared.PublisherPutRequest `request:"mediaType=application/json"` +} + +func (o *UpdateNPAPublisherByIDRequest) GetPublisherID() int { + if o == nil { + return 0 + } + return o.PublisherID +} + +func (o *UpdateNPAPublisherByIDRequest) GetSilent() *UpdateNPAPublisherByIDQueryParamSilent { + if o == nil { + return nil + } + return o.Silent +} + +func (o *UpdateNPAPublisherByIDRequest) GetPublisherPutRequest() shared.PublisherPutRequest { + if o == nil { + return shared.PublisherPutRequest{} + } + return o.PublisherPutRequest +} + +type UpdateNPAPublisherByIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + PublisherResponse *shared.PublisherResponse + // Invalid request + PublishersResponse400 *shared.PublishersResponse400 +} + +func (o *UpdateNPAPublisherByIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *UpdateNPAPublisherByIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *UpdateNPAPublisherByIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *UpdateNPAPublisherByIDResponse) GetPublisherResponse() *shared.PublisherResponse { + if o == nil { + return nil + } + return o.PublisherResponse +} + +func (o *UpdateNPAPublisherByIDResponse) GetPublishersResponse400() *shared.PublishersResponse400 { + if o == nil { + return nil + } + return o.PublishersResponse400 +} diff --git a/internal/sdk/models/operations/updatenpapublisherprofilesbulk.go b/internal/sdk/models/operations/updatenpapublisherprofilesbulk.go new file mode 100644 index 0000000..b21d597 --- /dev/null +++ b/internal/sdk/models/operations/updatenpapublisherprofilesbulk.go @@ -0,0 +1,110 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" + "net/http" +) + +// UpdateNPAPublisherProfilesBulkQueryParamSilent - flag to skip output except status code: +// - `1` - Skip response data +// - `0` - Do not skip response data +type UpdateNPAPublisherProfilesBulkQueryParamSilent string + +const ( + UpdateNPAPublisherProfilesBulkQueryParamSilentOne UpdateNPAPublisherProfilesBulkQueryParamSilent = "1" + UpdateNPAPublisherProfilesBulkQueryParamSilentZero UpdateNPAPublisherProfilesBulkQueryParamSilent = "0" +) + +func (e UpdateNPAPublisherProfilesBulkQueryParamSilent) ToPointer() *UpdateNPAPublisherProfilesBulkQueryParamSilent { + return &e +} + +func (e *UpdateNPAPublisherProfilesBulkQueryParamSilent) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "1": + fallthrough + case "0": + *e = UpdateNPAPublisherProfilesBulkQueryParamSilent(v) + return nil + default: + return fmt.Errorf("invalid value for UpdateNPAPublisherProfilesBulkQueryParamSilent: %v", v) + } +} + +type UpdateNPAPublisherProfilesBulkRequest struct { + // flag to skip output except status code: + // * `1` - Skip response data + // * `0` - Do not skip response data + Silent *UpdateNPAPublisherProfilesBulkQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` + PublisherUpgradeProfileBulkRequest shared.PublisherUpgradeProfileBulkRequest `request:"mediaType=application/json"` +} + +func (o *UpdateNPAPublisherProfilesBulkRequest) GetSilent() *UpdateNPAPublisherProfilesBulkQueryParamSilent { + if o == nil { + return nil + } + return o.Silent +} + +func (o *UpdateNPAPublisherProfilesBulkRequest) GetPublisherUpgradeProfileBulkRequest() shared.PublisherUpgradeProfileBulkRequest { + if o == nil { + return shared.PublisherUpgradeProfileBulkRequest{} + } + return o.PublisherUpgradeProfileBulkRequest +} + +type UpdateNPAPublisherProfilesBulkResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // successful operation + PublisherUpgradeProfileBulkResponse *shared.PublisherUpgradeProfileBulkResponse + // Invalid request + FourHundred *shared.FourHundred +} + +func (o *UpdateNPAPublisherProfilesBulkResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *UpdateNPAPublisherProfilesBulkResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *UpdateNPAPublisherProfilesBulkResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *UpdateNPAPublisherProfilesBulkResponse) GetPublisherUpgradeProfileBulkResponse() *shared.PublisherUpgradeProfileBulkResponse { + if o == nil { + return nil + } + return o.PublisherUpgradeProfileBulkResponse +} + +func (o *UpdateNPAPublisherProfilesBulkResponse) GetFourHundred() *shared.FourHundred { + if o == nil { + return nil + } + return o.FourHundred +} diff --git a/internal/sdk/models/operations/updatescimusersbyid.go b/internal/sdk/models/operations/updatescimusersbyid.go new file mode 100644 index 0000000..2cc2b91 --- /dev/null +++ b/internal/sdk/models/operations/updatescimusersbyid.go @@ -0,0 +1,418 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "errors" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/utils" + "net/http" +) + +type UpdateSCIMUsersByIDSchemas string + +const ( + UpdateSCIMUsersByIDSchemasUrnIetfParamsScimAPIMessages20PatchOp UpdateSCIMUsersByIDSchemas = "urn:ietf:params:scim:api:messages:2.0:PatchOp" +) + +func (e UpdateSCIMUsersByIDSchemas) ToPointer() *UpdateSCIMUsersByIDSchemas { + return &e +} + +func (e *UpdateSCIMUsersByIDSchemas) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "urn:ietf:params:scim:api:messages:2.0:PatchOp": + *e = UpdateSCIMUsersByIDSchemas(v) + return nil + default: + return fmt.Errorf("invalid value for UpdateSCIMUsersByIDSchemas: %v", v) + } +} + +type Path string + +const ( + PathUserName Path = "userName" + PathNameGivenname Path = "name.givenname" + PathNameFamilyname Path = "name.familyname" + PathExternalid Path = "externalid" + PathEmailsTypeEqWorkValue Path = "emails[type eq work].value" +) + +func (e Path) ToPointer() *Path { + return &e +} + +func (e *Path) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "userName": + fallthrough + case "name.givenname": + fallthrough + case "name.familyname": + fallthrough + case "externalid": + fallthrough + case "emails[type eq work].value": + *e = Path(v) + return nil + default: + return fmt.Errorf("invalid value for Path: %v", v) + } +} + +type Op string + +const ( + OpAdd Op = "add" + OpRemove Op = "remove" + OpReplace Op = "replace" +) + +func (e Op) ToPointer() *Op { + return &e +} + +func (e *Op) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "add": + fallthrough + case "remove": + fallthrough + case "replace": + *e = Op(v) + return nil + default: + return fmt.Errorf("invalid value for Op: %v", v) + } +} + +type Two struct { +} + +type ValueType string + +const ( + ValueTypeStr ValueType = "str" + ValueTypeTwo ValueType = "2" +) + +// Value - value either string or object +type Value struct { + Str *string + Two *Two + + Type ValueType +} + +func CreateValueStr(str string) Value { + typ := ValueTypeStr + + return Value{ + Str: &str, + Type: typ, + } +} + +func CreateValueTwo(two Two) Value { + typ := ValueTypeTwo + + return Value{ + Two: &two, + Type: typ, + } +} + +func (u *Value) UnmarshalJSON(data []byte) error { + + two := Two{} + if err := utils.UnmarshalJSON(data, &two, "", true, true); err == nil { + u.Two = &two + u.Type = ValueTypeTwo + return nil + } + + str := "" + if err := utils.UnmarshalJSON(data, &str, "", true, true); err == nil { + u.Str = &str + u.Type = ValueTypeStr + return nil + } + + return errors.New("could not unmarshal into supported union types") +} + +func (u Value) MarshalJSON() ([]byte, error) { + if u.Str != nil { + return utils.MarshalJSON(u.Str, "", true) + } + + if u.Two != nil { + return utils.MarshalJSON(u.Two, "", true) + } + + return nil, errors.New("could not marshal union type: all fields are null") +} + +type Operations struct { + Path *Path `json:"path,omitempty"` + Op *Op `json:"op,omitempty"` + // value either string or object + Value *Value `json:"value,omitempty"` +} + +func (o *Operations) GetPath() *Path { + if o == nil { + return nil + } + return o.Path +} + +func (o *Operations) GetOp() *Op { + if o == nil { + return nil + } + return o.Op +} + +func (o *Operations) GetValue() *Value { + if o == nil { + return nil + } + return o.Value +} + +// UpdateSCIMUsersByIDRequestBody - attribute to be modified. +type UpdateSCIMUsersByIDRequestBody struct { + // schema of the resource + Schemas []UpdateSCIMUsersByIDSchemas `json:"schemas,omitempty"` + Operations []Operations `json:"Operations,omitempty"` +} + +func (o *UpdateSCIMUsersByIDRequestBody) GetSchemas() []UpdateSCIMUsersByIDSchemas { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *UpdateSCIMUsersByIDRequestBody) GetOperations() []Operations { + if o == nil { + return nil + } + return o.Operations +} + +type UpdateSCIMUsersByIDRequest struct { + // SCIM Used ID should be specified + ID string `pathParam:"style=simple,explode=false,name=id"` + // attributes to be modified. + RequestBody *UpdateSCIMUsersByIDRequestBody `request:"mediaType=application/json"` +} + +func (o *UpdateSCIMUsersByIDRequest) GetID() string { + if o == nil { + return "" + } + return o.ID +} + +func (o *UpdateSCIMUsersByIDRequest) GetRequestBody() *UpdateSCIMUsersByIDRequestBody { + if o == nil { + return nil + } + return o.RequestBody +} + +type UpdateSCIMUsersByIDSCIMUsersStatus string + +const ( + UpdateSCIMUsersByIDSCIMUsersStatusFailed UpdateSCIMUsersByIDSCIMUsersStatus = "failed" + UpdateSCIMUsersByIDSCIMUsersStatusFiveHundredAndOne UpdateSCIMUsersByIDSCIMUsersStatus = "501" +) + +func (e UpdateSCIMUsersByIDSCIMUsersStatus) ToPointer() *UpdateSCIMUsersByIDSCIMUsersStatus { + return &e +} + +func (e *UpdateSCIMUsersByIDSCIMUsersStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "failed": + fallthrough + case "501": + *e = UpdateSCIMUsersByIDSCIMUsersStatus(v) + return nil + default: + return fmt.Errorf("invalid value for UpdateSCIMUsersByIDSCIMUsersStatus: %v", v) + } +} + +// UpdateSCIMUsersByIDSCIMUsersResponseResponseBody - Internal error Failed +type UpdateSCIMUsersByIDSCIMUsersResponseResponseBody struct { + Status *UpdateSCIMUsersByIDSCIMUsersStatus `json:"status,omitempty"` + Schemas *string `json:"schemas,omitempty"` + Detail *string `json:"detail,omitempty"` +} + +func (o *UpdateSCIMUsersByIDSCIMUsersResponseResponseBody) GetStatus() *UpdateSCIMUsersByIDSCIMUsersStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *UpdateSCIMUsersByIDSCIMUsersResponseResponseBody) GetSchemas() *string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *UpdateSCIMUsersByIDSCIMUsersResponseResponseBody) GetDetail() *string { + if o == nil { + return nil + } + return o.Detail +} + +// UpdateSCIMUsersByIDSCIMUsersResponseBody - Not authorized to execte the specific API. +type UpdateSCIMUsersByIDSCIMUsersResponseBody struct { + Message *string `json:"message,omitempty"` +} + +func (o *UpdateSCIMUsersByIDSCIMUsersResponseBody) GetMessage() *string { + if o == nil { + return nil + } + return o.Message +} + +type UpdateSCIMUsersByIDStatus string + +const ( + UpdateSCIMUsersByIDStatusFourHundred UpdateSCIMUsersByIDStatus = "400" + UpdateSCIMUsersByIDStatusFailed UpdateSCIMUsersByIDStatus = "failed" +) + +func (e UpdateSCIMUsersByIDStatus) ToPointer() *UpdateSCIMUsersByIDStatus { + return &e +} + +func (e *UpdateSCIMUsersByIDStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "400": + fallthrough + case "failed": + *e = UpdateSCIMUsersByIDStatus(v) + return nil + default: + return fmt.Errorf("invalid value for UpdateSCIMUsersByIDStatus: %v", v) + } +} + +// UpdateSCIMUsersByIDResponseBody - Failed +type UpdateSCIMUsersByIDResponseBody struct { + Status *UpdateSCIMUsersByIDStatus `json:"status,omitempty"` + Description *string `json:"description,omitempty"` + // schema of the resource + Schemas []string `json:"schemas,omitempty"` +} + +func (o *UpdateSCIMUsersByIDResponseBody) GetStatus() *UpdateSCIMUsersByIDStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *UpdateSCIMUsersByIDResponseBody) GetDescription() *string { + if o == nil { + return nil + } + return o.Description +} + +func (o *UpdateSCIMUsersByIDResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +type UpdateSCIMUsersByIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Failed + FourHundredApplicationJSONObject *UpdateSCIMUsersByIDResponseBody + // Not authorized to execte the specific API. + FourHundredAndThreeApplicationJSONObject *UpdateSCIMUsersByIDSCIMUsersResponseBody + // Internal error Failed + FiveHundredAndOneApplicationJSONObject *UpdateSCIMUsersByIDSCIMUsersResponseResponseBody +} + +func (o *UpdateSCIMUsersByIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *UpdateSCIMUsersByIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *UpdateSCIMUsersByIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *UpdateSCIMUsersByIDResponse) GetFourHundredApplicationJSONObject() *UpdateSCIMUsersByIDResponseBody { + if o == nil { + return nil + } + return o.FourHundredApplicationJSONObject +} + +func (o *UpdateSCIMUsersByIDResponse) GetFourHundredAndThreeApplicationJSONObject() *UpdateSCIMUsersByIDSCIMUsersResponseBody { + if o == nil { + return nil + } + return o.FourHundredAndThreeApplicationJSONObject +} + +func (o *UpdateSCIMUsersByIDResponse) GetFiveHundredAndOneApplicationJSONObject() *UpdateSCIMUsersByIDSCIMUsersResponseResponseBody { + if o == nil { + return nil + } + return o.FiveHundredAndOneApplicationJSONObject +} diff --git a/internal/sdk/pkg/models/shared/assessment.go b/internal/sdk/models/shared/assessment.go similarity index 100% rename from internal/sdk/pkg/models/shared/assessment.go rename to internal/sdk/models/shared/assessment.go diff --git a/internal/sdk/pkg/models/shared/data.go b/internal/sdk/models/shared/data.go similarity index 100% rename from internal/sdk/pkg/models/shared/data.go rename to internal/sdk/models/shared/data.go diff --git a/internal/sdk/pkg/models/shared/fourhundred.go b/internal/sdk/models/shared/fourhundred.go similarity index 100% rename from internal/sdk/pkg/models/shared/fourhundred.go rename to internal/sdk/models/shared/fourhundred.go diff --git a/internal/sdk/pkg/models/shared/grepatchresponse200.go b/internal/sdk/models/shared/grepatchresponse200.go similarity index 100% rename from internal/sdk/pkg/models/shared/grepatchresponse200.go rename to internal/sdk/models/shared/grepatchresponse200.go diff --git a/internal/sdk/pkg/models/shared/grepopresponse200.go b/internal/sdk/models/shared/grepopresponse200.go similarity index 100% rename from internal/sdk/pkg/models/shared/grepopresponse200.go rename to internal/sdk/models/shared/grepopresponse200.go diff --git a/internal/sdk/pkg/models/shared/grepopresultitem.go b/internal/sdk/models/shared/grepopresultitem.go similarity index 100% rename from internal/sdk/pkg/models/shared/grepopresultitem.go rename to internal/sdk/models/shared/grepopresultitem.go diff --git a/internal/sdk/pkg/models/shared/greresponse200.go b/internal/sdk/models/shared/greresponse200.go similarity index 100% rename from internal/sdk/pkg/models/shared/greresponse200.go rename to internal/sdk/models/shared/greresponse200.go diff --git a/internal/sdk/pkg/models/shared/greresponse201.go b/internal/sdk/models/shared/greresponse201.go similarity index 100% rename from internal/sdk/pkg/models/shared/greresponse201.go rename to internal/sdk/models/shared/greresponse201.go diff --git a/internal/sdk/pkg/models/shared/greresponse400.go b/internal/sdk/models/shared/greresponse400.go similarity index 100% rename from internal/sdk/pkg/models/shared/greresponse400.go rename to internal/sdk/models/shared/greresponse400.go diff --git a/internal/sdk/pkg/models/shared/greresponse403.go b/internal/sdk/models/shared/greresponse403.go similarity index 100% rename from internal/sdk/pkg/models/shared/greresponse403.go rename to internal/sdk/models/shared/greresponse403.go diff --git a/internal/sdk/pkg/models/shared/greresponse404.go b/internal/sdk/models/shared/greresponse404.go similarity index 100% rename from internal/sdk/pkg/models/shared/greresponse404.go rename to internal/sdk/models/shared/greresponse404.go diff --git a/internal/sdk/pkg/models/shared/greresponse405.go b/internal/sdk/models/shared/greresponse405.go similarity index 100% rename from internal/sdk/pkg/models/shared/greresponse405.go rename to internal/sdk/models/shared/greresponse405.go diff --git a/internal/sdk/pkg/models/shared/greresponse409.go b/internal/sdk/models/shared/greresponse409.go similarity index 100% rename from internal/sdk/pkg/models/shared/greresponse409.go rename to internal/sdk/models/shared/greresponse409.go diff --git a/internal/sdk/pkg/models/shared/greresponse429.go b/internal/sdk/models/shared/greresponse429.go similarity index 100% rename from internal/sdk/pkg/models/shared/greresponse429.go rename to internal/sdk/models/shared/greresponse429.go diff --git a/internal/sdk/pkg/models/shared/greresponse500.go b/internal/sdk/models/shared/greresponse500.go similarity index 100% rename from internal/sdk/pkg/models/shared/greresponse500.go rename to internal/sdk/models/shared/greresponse500.go diff --git a/internal/sdk/pkg/models/shared/gretunnelpopresultitem.go b/internal/sdk/models/shared/gretunnelpopresultitem.go similarity index 100% rename from internal/sdk/pkg/models/shared/gretunnelpopresultitem.go rename to internal/sdk/models/shared/gretunnelpopresultitem.go diff --git a/internal/sdk/pkg/models/shared/gretunnelrequestpatch.go b/internal/sdk/models/shared/gretunnelrequestpatch.go similarity index 100% rename from internal/sdk/pkg/models/shared/gretunnelrequestpatch.go rename to internal/sdk/models/shared/gretunnelrequestpatch.go diff --git a/internal/sdk/pkg/models/shared/gretunnelrequestpost.go b/internal/sdk/models/shared/gretunnelrequestpost.go similarity index 100% rename from internal/sdk/pkg/models/shared/gretunnelrequestpost.go rename to internal/sdk/models/shared/gretunnelrequestpost.go diff --git a/internal/sdk/pkg/models/shared/gretunnelresponse200.go b/internal/sdk/models/shared/gretunnelresponse200.go similarity index 100% rename from internal/sdk/pkg/models/shared/gretunnelresponse200.go rename to internal/sdk/models/shared/gretunnelresponse200.go diff --git a/internal/sdk/pkg/models/shared/gretunnelresultitem.go b/internal/sdk/models/shared/gretunnelresultitem.go similarity index 100% rename from internal/sdk/pkg/models/shared/gretunnelresultitem.go rename to internal/sdk/models/shared/gretunnelresultitem.go diff --git a/internal/sdk/pkg/models/shared/ipsecpatchresponse200.go b/internal/sdk/models/shared/ipsecpatchresponse200.go similarity index 100% rename from internal/sdk/pkg/models/shared/ipsecpatchresponse200.go rename to internal/sdk/models/shared/ipsecpatchresponse200.go diff --git a/internal/sdk/pkg/models/shared/ipsecpopresponse200.go b/internal/sdk/models/shared/ipsecpopresponse200.go similarity index 100% rename from internal/sdk/pkg/models/shared/ipsecpopresponse200.go rename to internal/sdk/models/shared/ipsecpopresponse200.go diff --git a/internal/sdk/pkg/models/shared/ipsecpopresultitem.go b/internal/sdk/models/shared/ipsecpopresultitem.go similarity index 100% rename from internal/sdk/pkg/models/shared/ipsecpopresultitem.go rename to internal/sdk/models/shared/ipsecpopresultitem.go diff --git a/internal/sdk/pkg/models/shared/ipsecresponse200.go b/internal/sdk/models/shared/ipsecresponse200.go similarity index 100% rename from internal/sdk/pkg/models/shared/ipsecresponse200.go rename to internal/sdk/models/shared/ipsecresponse200.go diff --git a/internal/sdk/pkg/models/shared/ipsecresponse201.go b/internal/sdk/models/shared/ipsecresponse201.go similarity index 100% rename from internal/sdk/pkg/models/shared/ipsecresponse201.go rename to internal/sdk/models/shared/ipsecresponse201.go diff --git a/internal/sdk/pkg/models/shared/ipsecresponse400.go b/internal/sdk/models/shared/ipsecresponse400.go similarity index 100% rename from internal/sdk/pkg/models/shared/ipsecresponse400.go rename to internal/sdk/models/shared/ipsecresponse400.go diff --git a/internal/sdk/pkg/models/shared/ipsecresponse403.go b/internal/sdk/models/shared/ipsecresponse403.go similarity index 100% rename from internal/sdk/pkg/models/shared/ipsecresponse403.go rename to internal/sdk/models/shared/ipsecresponse403.go diff --git a/internal/sdk/pkg/models/shared/ipsecresponse404.go b/internal/sdk/models/shared/ipsecresponse404.go similarity index 100% rename from internal/sdk/pkg/models/shared/ipsecresponse404.go rename to internal/sdk/models/shared/ipsecresponse404.go diff --git a/internal/sdk/pkg/models/shared/ipsecresponse405.go b/internal/sdk/models/shared/ipsecresponse405.go similarity index 100% rename from internal/sdk/pkg/models/shared/ipsecresponse405.go rename to internal/sdk/models/shared/ipsecresponse405.go diff --git a/internal/sdk/pkg/models/shared/ipsecresponse409.go b/internal/sdk/models/shared/ipsecresponse409.go similarity index 100% rename from internal/sdk/pkg/models/shared/ipsecresponse409.go rename to internal/sdk/models/shared/ipsecresponse409.go diff --git a/internal/sdk/pkg/models/shared/ipsecresponse429.go b/internal/sdk/models/shared/ipsecresponse429.go similarity index 100% rename from internal/sdk/pkg/models/shared/ipsecresponse429.go rename to internal/sdk/models/shared/ipsecresponse429.go diff --git a/internal/sdk/pkg/models/shared/ipsecresponse500.go b/internal/sdk/models/shared/ipsecresponse500.go similarity index 100% rename from internal/sdk/pkg/models/shared/ipsecresponse500.go rename to internal/sdk/models/shared/ipsecresponse500.go diff --git a/internal/sdk/pkg/models/shared/ipsectunnelpopresultitem.go b/internal/sdk/models/shared/ipsectunnelpopresultitem.go similarity index 100% rename from internal/sdk/pkg/models/shared/ipsectunnelpopresultitem.go rename to internal/sdk/models/shared/ipsectunnelpopresultitem.go diff --git a/internal/sdk/pkg/models/shared/ipsectunnelrequestpatch.go b/internal/sdk/models/shared/ipsectunnelrequestpatch.go similarity index 100% rename from internal/sdk/pkg/models/shared/ipsectunnelrequestpatch.go rename to internal/sdk/models/shared/ipsectunnelrequestpatch.go diff --git a/internal/sdk/pkg/models/shared/ipsectunnelrequestpost.go b/internal/sdk/models/shared/ipsectunnelrequestpost.go similarity index 100% rename from internal/sdk/pkg/models/shared/ipsectunnelrequestpost.go rename to internal/sdk/models/shared/ipsectunnelrequestpost.go diff --git a/internal/sdk/pkg/models/shared/ipsectunnelresponse200.go b/internal/sdk/models/shared/ipsectunnelresponse200.go similarity index 100% rename from internal/sdk/pkg/models/shared/ipsectunnelresponse200.go rename to internal/sdk/models/shared/ipsectunnelresponse200.go diff --git a/internal/sdk/pkg/models/shared/ipsectunnelresultitem.go b/internal/sdk/models/shared/ipsectunnelresultitem.go similarity index 100% rename from internal/sdk/pkg/models/shared/ipsectunnelresultitem.go rename to internal/sdk/models/shared/ipsectunnelresultitem.go diff --git a/internal/sdk/pkg/models/shared/npapolicygrouprequest.go b/internal/sdk/models/shared/npapolicygrouprequest.go similarity index 100% rename from internal/sdk/pkg/models/shared/npapolicygrouprequest.go rename to internal/sdk/models/shared/npapolicygrouprequest.go diff --git a/internal/sdk/pkg/models/shared/npapolicygroupresponse.go b/internal/sdk/models/shared/npapolicygroupresponse.go similarity index 100% rename from internal/sdk/pkg/models/shared/npapolicygroupresponse.go rename to internal/sdk/models/shared/npapolicygroupresponse.go diff --git a/internal/sdk/pkg/models/shared/npapolicygroupresponse400.go b/internal/sdk/models/shared/npapolicygroupresponse400.go similarity index 100% rename from internal/sdk/pkg/models/shared/npapolicygroupresponse400.go rename to internal/sdk/models/shared/npapolicygroupresponse400.go diff --git a/internal/sdk/pkg/models/shared/npapolicygroupresponseitem.go b/internal/sdk/models/shared/npapolicygroupresponseitem.go similarity index 100% rename from internal/sdk/pkg/models/shared/npapolicygroupresponseitem.go rename to internal/sdk/models/shared/npapolicygroupresponseitem.go diff --git a/internal/sdk/pkg/models/shared/npapolicylistresponse.go b/internal/sdk/models/shared/npapolicylistresponse.go similarity index 100% rename from internal/sdk/pkg/models/shared/npapolicylistresponse.go rename to internal/sdk/models/shared/npapolicylistresponse.go diff --git a/internal/sdk/pkg/models/shared/npapolicyrequest.go b/internal/sdk/models/shared/npapolicyrequest.go similarity index 100% rename from internal/sdk/pkg/models/shared/npapolicyrequest.go rename to internal/sdk/models/shared/npapolicyrequest.go diff --git a/internal/sdk/pkg/models/shared/npapolicyresponse400.go b/internal/sdk/models/shared/npapolicyresponse400.go similarity index 100% rename from internal/sdk/pkg/models/shared/npapolicyresponse400.go rename to internal/sdk/models/shared/npapolicyresponse400.go diff --git a/internal/sdk/pkg/models/shared/npapolicyresponseitem.go b/internal/sdk/models/shared/npapolicyresponseitem.go similarity index 100% rename from internal/sdk/pkg/models/shared/npapolicyresponseitem.go rename to internal/sdk/models/shared/npapolicyresponseitem.go diff --git a/internal/sdk/pkg/models/shared/npapolicyruledata.go b/internal/sdk/models/shared/npapolicyruledata.go similarity index 100% rename from internal/sdk/pkg/models/shared/npapolicyruledata.go rename to internal/sdk/models/shared/npapolicyruledata.go diff --git a/internal/sdk/pkg/models/shared/npapolicyruledlp.go b/internal/sdk/models/shared/npapolicyruledlp.go similarity index 100% rename from internal/sdk/pkg/models/shared/npapolicyruledlp.go rename to internal/sdk/models/shared/npapolicyruledlp.go diff --git a/internal/sdk/pkg/models/shared/privateappsgetresponse.go b/internal/sdk/models/shared/privateappsgetresponse.go similarity index 100% rename from internal/sdk/pkg/models/shared/privateappsgetresponse.go rename to internal/sdk/models/shared/privateappsgetresponse.go diff --git a/internal/sdk/pkg/models/shared/privateappsputrequest.go b/internal/sdk/models/shared/privateappsputrequest.go similarity index 100% rename from internal/sdk/pkg/models/shared/privateappsputrequest.go rename to internal/sdk/models/shared/privateappsputrequest.go diff --git a/internal/sdk/pkg/models/shared/privateappsrequest.go b/internal/sdk/models/shared/privateappsrequest.go similarity index 100% rename from internal/sdk/pkg/models/shared/privateappsrequest.go rename to internal/sdk/models/shared/privateappsrequest.go diff --git a/internal/sdk/pkg/models/shared/privateappsresponse.go b/internal/sdk/models/shared/privateappsresponse.go similarity index 100% rename from internal/sdk/pkg/models/shared/privateappsresponse.go rename to internal/sdk/models/shared/privateappsresponse.go diff --git a/internal/sdk/pkg/models/shared/privateappsresponse400.go b/internal/sdk/models/shared/privateappsresponse400.go similarity index 100% rename from internal/sdk/pkg/models/shared/privateappsresponse400.go rename to internal/sdk/models/shared/privateappsresponse400.go diff --git a/internal/sdk/pkg/models/shared/protocolitem.go b/internal/sdk/models/shared/protocolitem.go similarity index 100% rename from internal/sdk/pkg/models/shared/protocolitem.go rename to internal/sdk/models/shared/protocolitem.go diff --git a/internal/sdk/pkg/models/shared/protocolresponseitem.go b/internal/sdk/models/shared/protocolresponseitem.go similarity index 100% rename from internal/sdk/pkg/models/shared/protocolresponseitem.go rename to internal/sdk/models/shared/protocolresponseitem.go diff --git a/internal/sdk/pkg/models/shared/publisher.go b/internal/sdk/models/shared/publisher.go similarity index 77% rename from internal/sdk/pkg/models/shared/publisher.go rename to internal/sdk/models/shared/publisher.go index fb63db8..9da121b 100644 --- a/internal/sdk/pkg/models/shared/publisher.go +++ b/internal/sdk/models/shared/publisher.go @@ -4,7 +4,7 @@ package shared import ( "errors" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/utils" ) type Two struct { @@ -44,16 +44,16 @@ func CreatePublisherAssessmentTwo(two Two) PublisherAssessment { func (u *PublisherAssessment) UnmarshalJSON(data []byte) error { - two := new(Two) + two := Two{} if err := utils.UnmarshalJSON(data, &two, "", true, true); err == nil { - u.Two = two + u.Two = &two u.Type = PublisherAssessmentTypeTwo return nil } - assessment := new(Assessment) + assessment := Assessment{} if err := utils.UnmarshalJSON(data, &assessment, "", true, true); err == nil { - u.Assessment = assessment + u.Assessment = &assessment u.Type = PublisherAssessmentTypeAssessment return nil } @@ -73,72 +73,6 @@ func (u PublisherAssessment) MarshalJSON() ([]byte, error) { return nil, errors.New("could not marshal union type: all fields are null") } -type StitcherID2 struct { -} - -type StitcherIDType string - -const ( - StitcherIDTypeInteger StitcherIDType = "integer" - StitcherIDTypeStitcherID2 StitcherIDType = "stitcher_id_2" -) - -type StitcherID struct { - Integer *int64 - StitcherID2 *StitcherID2 - - Type StitcherIDType -} - -func CreateStitcherIDInteger(integer int64) StitcherID { - typ := StitcherIDTypeInteger - - return StitcherID{ - Integer: &integer, - Type: typ, - } -} - -func CreateStitcherIDStitcherID2(stitcherID2 StitcherID2) StitcherID { - typ := StitcherIDTypeStitcherID2 - - return StitcherID{ - StitcherID2: &stitcherID2, - Type: typ, - } -} - -func (u *StitcherID) UnmarshalJSON(data []byte) error { - - stitcherID2 := new(StitcherID2) - if err := utils.UnmarshalJSON(data, &stitcherID2, "", true, true); err == nil { - u.StitcherID2 = stitcherID2 - u.Type = StitcherIDTypeStitcherID2 - return nil - } - - integer := new(int64) - if err := utils.UnmarshalJSON(data, &integer, "", true, true); err == nil { - u.Integer = integer - u.Type = StitcherIDTypeInteger - return nil - } - - return errors.New("could not unmarshal into supported union types") -} - -func (u StitcherID) MarshalJSON() ([]byte, error) { - if u.Integer != nil { - return utils.MarshalJSON(u.Integer, "", true) - } - - if u.StitcherID2 != nil { - return utils.MarshalJSON(u.StitcherID2, "", true) - } - - return nil, errors.New("could not marshal union type: all fields are null") -} - type UpgradeFailedReason2 struct { } @@ -176,16 +110,16 @@ func CreatePublisherUpgradeFailedReasonUpgradeFailedReason2(upgradeFailedReason2 func (u *PublisherUpgradeFailedReason) UnmarshalJSON(data []byte) error { - upgradeFailedReason2 := new(UpgradeFailedReason2) + upgradeFailedReason2 := UpgradeFailedReason2{} if err := utils.UnmarshalJSON(data, &upgradeFailedReason2, "", true, true); err == nil { - u.UpgradeFailedReason2 = upgradeFailedReason2 + u.UpgradeFailedReason2 = &upgradeFailedReason2 u.Type = PublisherUpgradeFailedReasonTypeUpgradeFailedReason2 return nil } - upgradeFailedReason := new(UpgradeFailedReason) + upgradeFailedReason := UpgradeFailedReason{} if err := utils.UnmarshalJSON(data, &upgradeFailedReason, "", true, true); err == nil { - u.UpgradeFailedReason = upgradeFailedReason + u.UpgradeFailedReason = &upgradeFailedReason u.Type = PublisherUpgradeFailedReasonTypeUpgradeFailedReason return nil } @@ -216,7 +150,7 @@ type Publisher struct { PublisherUpgradeProfilesExternalID int64 `json:"publisher_upgrade_profiles_external_id"` Registered bool `json:"registered"` Status string `json:"status"` - StitcherID StitcherID `json:"stitcher_id"` + StitcherID int64 `json:"stitcher_id"` Tags []interface{} `json:"tags"` UpgradeFailedReason PublisherUpgradeFailedReason `json:"upgrade_failed_reason"` UpgradeRequest bool `json:"upgrade_request"` @@ -293,9 +227,9 @@ func (o *Publisher) GetStatus() string { return o.Status } -func (o *Publisher) GetStitcherID() StitcherID { +func (o *Publisher) GetStitcherID() int64 { if o == nil { - return StitcherID{} + return 0 } return o.StitcherID } diff --git a/internal/sdk/pkg/models/shared/publisherappslistresponse.go b/internal/sdk/models/shared/publisherappslistresponse.go similarity index 100% rename from internal/sdk/pkg/models/shared/publisherappslistresponse.go rename to internal/sdk/models/shared/publisherappslistresponse.go diff --git a/internal/sdk/pkg/models/shared/publisherbulkitem.go b/internal/sdk/models/shared/publisherbulkitem.go similarity index 100% rename from internal/sdk/pkg/models/shared/publisherbulkitem.go rename to internal/sdk/models/shared/publisherbulkitem.go diff --git a/internal/sdk/pkg/models/shared/publisherbulkrequest.go b/internal/sdk/models/shared/publisherbulkrequest.go similarity index 98% rename from internal/sdk/pkg/models/shared/publisherbulkrequest.go rename to internal/sdk/models/shared/publisherbulkrequest.go index 33088e6..4af39a1 100644 --- a/internal/sdk/pkg/models/shared/publisherbulkrequest.go +++ b/internal/sdk/models/shared/publisherbulkrequest.go @@ -3,7 +3,7 @@ package shared import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/utils" ) type Apply struct { diff --git a/internal/sdk/pkg/models/shared/publisheritem.go b/internal/sdk/models/shared/publisheritem.go similarity index 100% rename from internal/sdk/pkg/models/shared/publisheritem.go rename to internal/sdk/models/shared/publisheritem.go diff --git a/internal/sdk/pkg/models/shared/publisherpostrequest.go b/internal/sdk/models/shared/publisherpostrequest.go similarity index 98% rename from internal/sdk/pkg/models/shared/publisherpostrequest.go rename to internal/sdk/models/shared/publisherpostrequest.go index 78e28ec..cb07446 100644 --- a/internal/sdk/pkg/models/shared/publisherpostrequest.go +++ b/internal/sdk/models/shared/publisherpostrequest.go @@ -3,7 +3,7 @@ package shared import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/utils" ) type PublisherPostRequest struct { diff --git a/internal/sdk/pkg/models/shared/publisherputrequest.go b/internal/sdk/models/shared/publisherputrequest.go similarity index 100% rename from internal/sdk/pkg/models/shared/publisherputrequest.go rename to internal/sdk/models/shared/publisherputrequest.go diff --git a/internal/sdk/pkg/models/shared/publisherresponse.go b/internal/sdk/models/shared/publisherresponse.go similarity index 100% rename from internal/sdk/pkg/models/shared/publisherresponse.go rename to internal/sdk/models/shared/publisherresponse.go diff --git a/internal/sdk/pkg/models/shared/publishersalertgetresponse.go b/internal/sdk/models/shared/publishersalertgetresponse.go similarity index 100% rename from internal/sdk/pkg/models/shared/publishersalertgetresponse.go rename to internal/sdk/models/shared/publishersalertgetresponse.go diff --git a/internal/sdk/pkg/models/shared/publishersalertputrequest.go b/internal/sdk/models/shared/publishersalertputrequest.go similarity index 100% rename from internal/sdk/pkg/models/shared/publishersalertputrequest.go rename to internal/sdk/models/shared/publishersalertputrequest.go diff --git a/internal/sdk/pkg/models/shared/publishersbulkresponse.go b/internal/sdk/models/shared/publishersbulkresponse.go similarity index 100% rename from internal/sdk/pkg/models/shared/publishersbulkresponse.go rename to internal/sdk/models/shared/publishersbulkresponse.go diff --git a/internal/sdk/pkg/models/shared/publishersgetresponse.go b/internal/sdk/models/shared/publishersgetresponse.go similarity index 100% rename from internal/sdk/pkg/models/shared/publishersgetresponse.go rename to internal/sdk/models/shared/publishersgetresponse.go diff --git a/internal/sdk/pkg/models/shared/publishersreleasegetresponse.go b/internal/sdk/models/shared/publishersreleasegetresponse.go similarity index 100% rename from internal/sdk/pkg/models/shared/publishersreleasegetresponse.go rename to internal/sdk/models/shared/publishersreleasegetresponse.go diff --git a/internal/sdk/pkg/models/shared/publishersresponse400.go b/internal/sdk/models/shared/publishersresponse400.go similarity index 100% rename from internal/sdk/pkg/models/shared/publishersresponse400.go rename to internal/sdk/models/shared/publishersresponse400.go diff --git a/internal/sdk/pkg/models/shared/publisherupgradeprofilebulkrequest.go b/internal/sdk/models/shared/publisherupgradeprofilebulkrequest.go similarity index 100% rename from internal/sdk/pkg/models/shared/publisherupgradeprofilebulkrequest.go rename to internal/sdk/models/shared/publisherupgradeprofilebulkrequest.go diff --git a/internal/sdk/pkg/models/shared/publisherupgradeprofilebulkresponse.go b/internal/sdk/models/shared/publisherupgradeprofilebulkresponse.go similarity index 100% rename from internal/sdk/pkg/models/shared/publisherupgradeprofilebulkresponse.go rename to internal/sdk/models/shared/publisherupgradeprofilebulkresponse.go diff --git a/internal/sdk/pkg/models/shared/publisherupgradeprofilegetresponse.go b/internal/sdk/models/shared/publisherupgradeprofilegetresponse.go similarity index 100% rename from internal/sdk/pkg/models/shared/publisherupgradeprofilegetresponse.go rename to internal/sdk/models/shared/publisherupgradeprofilegetresponse.go diff --git a/internal/sdk/pkg/models/shared/publisherupgradeprofilepostrequest.go b/internal/sdk/models/shared/publisherupgradeprofilepostrequest.go similarity index 100% rename from internal/sdk/pkg/models/shared/publisherupgradeprofilepostrequest.go rename to internal/sdk/models/shared/publisherupgradeprofilepostrequest.go diff --git a/internal/sdk/pkg/models/shared/publisherupgradeprofileputrequest.go b/internal/sdk/models/shared/publisherupgradeprofileputrequest.go similarity index 100% rename from internal/sdk/pkg/models/shared/publisherupgradeprofileputrequest.go rename to internal/sdk/models/shared/publisherupgradeprofileputrequest.go diff --git a/internal/sdk/pkg/models/shared/publisherupgradeprofileresponse.go b/internal/sdk/models/shared/publisherupgradeprofileresponse.go similarity index 100% rename from internal/sdk/pkg/models/shared/publisherupgradeprofileresponse.go rename to internal/sdk/models/shared/publisherupgradeprofileresponse.go diff --git a/internal/sdk/pkg/models/shared/releaseitem.go b/internal/sdk/models/shared/releaseitem.go similarity index 100% rename from internal/sdk/pkg/models/shared/releaseitem.go rename to internal/sdk/models/shared/releaseitem.go diff --git a/internal/sdk/pkg/models/shared/security.go b/internal/sdk/models/shared/security.go similarity index 100% rename from internal/sdk/pkg/models/shared/security.go rename to internal/sdk/models/shared/security.go diff --git a/internal/sdk/pkg/models/shared/servicepublisherassignmentitem.go b/internal/sdk/models/shared/servicepublisherassignmentitem.go similarity index 100% rename from internal/sdk/pkg/models/shared/servicepublisherassignmentitem.go rename to internal/sdk/models/shared/servicepublisherassignmentitem.go diff --git a/internal/sdk/pkg/models/shared/tagitem.go b/internal/sdk/models/shared/tagitem.go similarity index 100% rename from internal/sdk/pkg/models/shared/tagitem.go rename to internal/sdk/models/shared/tagitem.go diff --git a/internal/sdk/pkg/models/shared/tagitemnoid.go b/internal/sdk/models/shared/tagitemnoid.go similarity index 100% rename from internal/sdk/pkg/models/shared/tagitemnoid.go rename to internal/sdk/models/shared/tagitemnoid.go diff --git a/internal/sdk/pkg/models/shared/tagrequest.go b/internal/sdk/models/shared/tagrequest.go similarity index 100% rename from internal/sdk/pkg/models/shared/tagrequest.go rename to internal/sdk/models/shared/tagrequest.go diff --git a/internal/sdk/pkg/models/shared/tagresponse.go b/internal/sdk/models/shared/tagresponse.go similarity index 100% rename from internal/sdk/pkg/models/shared/tagresponse.go rename to internal/sdk/models/shared/tagresponse.go diff --git a/internal/sdk/pkg/models/shared/tagresponse400.go b/internal/sdk/models/shared/tagresponse400.go similarity index 100% rename from internal/sdk/pkg/models/shared/tagresponse400.go rename to internal/sdk/models/shared/tagresponse400.go diff --git a/internal/sdk/pkg/models/shared/upgradefailedreason.go b/internal/sdk/models/shared/upgradefailedreason.go similarity index 100% rename from internal/sdk/pkg/models/shared/upgradefailedreason.go rename to internal/sdk/models/shared/upgradefailedreason.go diff --git a/internal/sdk/pkg/models/shared/upgradepublisherresponse.go b/internal/sdk/models/shared/upgradepublisherresponse.go similarity index 100% rename from internal/sdk/pkg/models/shared/upgradepublisherresponse.go rename to internal/sdk/models/shared/upgradepublisherresponse.go diff --git a/internal/sdk/pkg/models/shared/upgradestatus.go b/internal/sdk/models/shared/upgradestatus.go similarity index 100% rename from internal/sdk/pkg/models/shared/upgradestatus.go rename to internal/sdk/models/shared/upgradestatus.go diff --git a/internal/sdk/npapublishers.go b/internal/sdk/npapublishers.go index 55efda3..b66edba 100644 --- a/internal/sdk/npapublishers.go +++ b/internal/sdk/npapublishers.go @@ -6,13 +6,14 @@ import ( "bytes" "context" "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/sdkerrors" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/hooks" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/errors" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "io" "net/http" - "strings" + "net/url" ) type NPAPublishers struct { @@ -27,29 +28,66 @@ func newNPAPublishers(sdkConfig sdkConfiguration) *NPAPublishers { // ListObjects - Get list of publisher objects // Get list of publisher objects -func (s *NPAPublishers) ListObjects(ctx context.Context, request operations.GetInfrastructurePublishersRequest) (*operations.GetInfrastructurePublishersResponse, error) { +func (s *NPAPublishers) ListObjects(ctx context.Context, request operations.GetNPAPublishersRequest) (*operations.GetNPAPublishersResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getNPAPublishers", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publishers" + opURL, err := url.JoinPath(baseURL, "/infrastructure/publishers") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { return nil, fmt.Errorf("error populating query params: %w", err) } - client := s.sdkConfiguration.SecurityClient + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } - httpRes, err := client.Do(req) + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) + return nil, err } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetNPAPublishersResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, } rawBody, err := io.ReadAll(httpRes.Body) @@ -59,17 +97,10 @@ func (s *NPAPublishers) ListObjects(ctx context.Context, request operations.GetI httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetInfrastructurePublishersResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } switch { case httpRes.StatusCode == 200: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.PublishersGetResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -77,11 +108,11 @@ func (s *NPAPublishers) ListObjects(ctx context.Context, request operations.GetI res.PublishersGetResponse = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.PublishersResponse400 if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -89,8 +120,10 @@ func (s *NPAPublishers) ListObjects(ctx context.Context, request operations.GetI res.PublishersResponse400 = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } return res, nil @@ -98,63 +131,85 @@ func (s *NPAPublishers) ListObjects(ctx context.Context, request operations.GetI // Create a publisher // Create a publisher -func (s *NPAPublishers) Create(ctx context.Context, request operations.PostInfrastructurePublishersRequest) (*operations.PostInfrastructurePublishersResponse, error) { +func (s *NPAPublishers) Create(ctx context.Context, request operations.CreateNPApublishersRequest) (*operations.CreateNPApublishersResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "createNPApublishers", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publishers" + opURL, err := url.JoinPath(baseURL, "/infrastructure/publishers") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PublisherPostRequest", "json", `request:"mediaType=application/json"`) if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") + return nil, err } - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) + req, err := http.NewRequestWithContext(ctx, "POST", opURL, bodyReader) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) req.Header.Set("Content-Type", reqContentType) if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { return nil, fmt.Errorf("error populating query params: %w", err) } - client := s.sdkConfiguration.SecurityClient + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } - httpRes, err := client.Do(req) + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) + return nil, err } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.CreateNPApublishersResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, } rawBody, err := io.ReadAll(httpRes.Body) if err != nil { return nil, fmt.Errorf("error reading response body: %w", err) } - httpRes.Request.Body = io.NopCloser(debugBody) httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PostInfrastructurePublishersResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } switch { case httpRes.StatusCode == 200: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.PublisherResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -162,11 +217,11 @@ func (s *NPAPublishers) Create(ctx context.Context, request operations.PostInfra res.PublisherResponse = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.PublishersResponse400 if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -174,8 +229,10 @@ func (s *NPAPublishers) Create(ctx context.Context, request operations.PostInfra res.PublishersResponse400 = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } return res, nil @@ -183,28 +240,62 @@ func (s *NPAPublishers) Create(ctx context.Context, request operations.PostInfra // Delete a publisher // Delete a publisher based on publisher id -func (s *NPAPublishers) Delete(ctx context.Context, request operations.DeleteInfrastructurePublishersPublisherIDRequest) (*operations.DeleteInfrastructurePublishersPublisherIDResponse, error) { +func (s *NPAPublishers) Delete(ctx context.Context, request operations.DeleteNPAPublishersRequest) (*operations.DeleteNPAPublishersResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "deleteNPAPublishers", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publishers/{publisher_id}", request, nil) + opURL, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publishers/{publisher_id}", request, nil) if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } - req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil) + req, err := http.NewRequestWithContext(ctx, "DELETE", opURL, nil) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) - client := s.sdkConfiguration.SecurityClient + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } - httpRes, err := client.Do(req) + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") + + res := &operations.DeleteNPAPublishersResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, } rawBody, err := io.ReadAll(httpRes.Body) @@ -214,29 +305,22 @@ func (s *NPAPublishers) Delete(ctx context.Context, request operations.DeleteInf httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.DeleteInfrastructurePublishersPublisherIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } switch { case httpRes.StatusCode == 200: switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.DeleteInfrastructurePublishersPublisherIDResponseBody + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.DeleteNPAPublishersResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } res.Object = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.PublishersResponse400 if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -244,8 +328,10 @@ func (s *NPAPublishers) Delete(ctx context.Context, request operations.DeleteInf res.PublishersResponse400 = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } return res, nil @@ -253,66 +339,85 @@ func (s *NPAPublishers) Delete(ctx context.Context, request operations.DeleteInf // Update a publisher // update a publisher based on publisher id -func (s *NPAPublishers) Update(ctx context.Context, request operations.PutInfrastructurePublishersPublisherIDRequest) (*operations.PutInfrastructurePublishersPublisherIDResponse, error) { +func (s *NPAPublishers) Update(ctx context.Context, request operations.ReplaceNPAPublisherByIDRequest) (*operations.ReplaceNPAPublisherByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "replaceNPAPublisherById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publishers/{publisher_id}", request, nil) + opURL, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publishers/{publisher_id}", request, nil) if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PublisherPutRequest", "json", `request:"mediaType=application/json"`) if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") + return nil, err } - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PUT", url, debugReader) + req, err := http.NewRequestWithContext(ctx, "PUT", opURL, bodyReader) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) req.Header.Set("Content-Type", reqContentType) if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { return nil, fmt.Errorf("error populating query params: %w", err) } - client := s.sdkConfiguration.SecurityClient + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } - httpRes, err := client.Do(req) + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") + + res := &operations.ReplaceNPAPublisherByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, } rawBody, err := io.ReadAll(httpRes.Body) if err != nil { return nil, fmt.Errorf("error reading response body: %w", err) } - httpRes.Request.Body = io.NopCloser(debugBody) httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PutInfrastructurePublishersPublisherIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } switch { case httpRes.StatusCode == 200: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.PublisherResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -320,11 +425,11 @@ func (s *NPAPublishers) Update(ctx context.Context, request operations.PutInfras res.PublisherResponse = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.PublishersResponse400 if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -332,8 +437,10 @@ func (s *NPAPublishers) Update(ctx context.Context, request operations.PutInfras res.PublishersResponse400 = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } return res, nil @@ -341,28 +448,62 @@ func (s *NPAPublishers) Update(ctx context.Context, request operations.PutInfras // Read - Get a publisher // get a publisher based on publisher id -func (s *NPAPublishers) Read(ctx context.Context, request operations.GetInfrastructurePublishersPublisherIDRequest) (*operations.GetInfrastructurePublishersPublisherIDResponse, error) { +func (s *NPAPublishers) Read(ctx context.Context, request operations.GetNPAPublisherByIDRequest) (*operations.GetNPAPublisherByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getNPAPublisherById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publishers/{publisher_id}", request, nil) + opURL, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publishers/{publisher_id}", request, nil) if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) - client := s.sdkConfiguration.SecurityClient + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } - httpRes, err := client.Do(req) + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) + return nil, err } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetNPAPublisherByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, } rawBody, err := io.ReadAll(httpRes.Body) @@ -372,17 +513,10 @@ func (s *NPAPublishers) Read(ctx context.Context, request operations.GetInfrastr httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetInfrastructurePublishersPublisherIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } switch { case httpRes.StatusCode == 200: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.PublisherResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -390,11 +524,11 @@ func (s *NPAPublishers) Read(ctx context.Context, request operations.GetInfrastr res.PublisherResponse = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.PublishersResponse400 if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -402,8 +536,10 @@ func (s *NPAPublishers) Read(ctx context.Context, request operations.GetInfrastr res.PublishersResponse400 = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } return res, nil diff --git a/internal/sdk/npapublishersapps.go b/internal/sdk/npapublishersapps.go index 3e6936a..f121d92 100644 --- a/internal/sdk/npapublishersapps.go +++ b/internal/sdk/npapublishersapps.go @@ -6,10 +6,11 @@ import ( "bytes" "context" "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/sdkerrors" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/hooks" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/errors" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "io" "net/http" ) @@ -26,28 +27,62 @@ func newNPAPublishersApps(sdkConfig sdkConfiguration) *NPAPublishersApps { // ListObjects - Get all private apps associated to a publisher // Get all private apps associated to a publisher -func (s *NPAPublishersApps) ListObjects(ctx context.Context, request operations.GetInfrastructurePublishersPublisherIDAppsRequest) (*operations.GetInfrastructurePublishersPublisherIDAppsResponse, error) { +func (s *NPAPublishersApps) ListObjects(ctx context.Context, request operations.GetNPAPublisherAppsRequest) (*operations.GetNPAPublisherAppsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getNPAPublisherApps", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publishers/{publisher_id}/apps", request, nil) + opURL, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publishers/{publisher_id}/apps", request, nil) if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) - client := s.sdkConfiguration.SecurityClient + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } - httpRes, err := client.Do(req) + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") + + res := &operations.GetNPAPublisherAppsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, } rawBody, err := io.ReadAll(httpRes.Body) @@ -57,17 +92,10 @@ func (s *NPAPublishersApps) ListObjects(ctx context.Context, request operations. httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetInfrastructurePublishersPublisherIDAppsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } switch { case httpRes.StatusCode == 200: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.PublisherAppsListResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -75,11 +103,11 @@ func (s *NPAPublishersApps) ListObjects(ctx context.Context, request operations. res.PublisherAppsListResponse = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.PublishersResponse400 if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -87,8 +115,10 @@ func (s *NPAPublishersApps) ListObjects(ctx context.Context, request operations. res.PublishersResponse400 = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } return res, nil diff --git a/internal/sdk/npapublishersreleases.go b/internal/sdk/npapublishersreleases.go index e7702e0..8b18090 100644 --- a/internal/sdk/npapublishersreleases.go +++ b/internal/sdk/npapublishersreleases.go @@ -6,13 +6,14 @@ import ( "bytes" "context" "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/sdkerrors" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/hooks" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/errors" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "io" "net/http" - "strings" + "net/url" ) type NPAPublishersReleases struct { @@ -27,29 +28,66 @@ func newNPAPublishersReleases(sdkConfig sdkConfiguration) *NPAPublishersReleases // ListObjects - Get list of publisher release objects // Get list of publisher release objects -func (s *NPAPublishersReleases) ListObjects(ctx context.Context, request operations.GetInfrastructurePublishersReleasesRequest) (*operations.GetInfrastructurePublishersReleasesResponse, error) { +func (s *NPAPublishersReleases) ListObjects(ctx context.Context, request operations.GetNPAPublisherObjectsRequest) (*operations.GetNPAPublisherObjectsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getNPAPublisherObjects", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publishers/releases" + opURL, err := url.JoinPath(baseURL, "/infrastructure/publishers/releases") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { return nil, fmt.Errorf("error populating query params: %w", err) } - client := s.sdkConfiguration.SecurityClient + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } - httpRes, err := client.Do(req) + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") + + res := &operations.GetNPAPublisherObjectsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, } rawBody, err := io.ReadAll(httpRes.Body) @@ -59,17 +97,10 @@ func (s *NPAPublishersReleases) ListObjects(ctx context.Context, request operati httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetInfrastructurePublishersReleasesResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } switch { case httpRes.StatusCode == 200: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.PublishersReleaseGetResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -77,11 +108,11 @@ func (s *NPAPublishersReleases) ListObjects(ctx context.Context, request operati res.PublishersReleaseGetResponse = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.PublishersResponse400 if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -89,8 +120,10 @@ func (s *NPAPublishersReleases) ListObjects(ctx context.Context, request operati res.PublishersResponse400 = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } return res, nil diff --git a/internal/sdk/npapublisherupgradeprofiles.go b/internal/sdk/npapublisherupgradeprofiles.go index 6cb6638..98c3570 100644 --- a/internal/sdk/npapublisherupgradeprofiles.go +++ b/internal/sdk/npapublisherupgradeprofiles.go @@ -6,13 +6,14 @@ import ( "bytes" "context" "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/sdkerrors" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/hooks" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/errors" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "io" "net/http" - "strings" + "net/url" ) type NPAPublisherUpgradeProfiles struct { @@ -27,29 +28,66 @@ func newNPAPublisherUpgradeProfiles(sdkConfig sdkConfiguration) *NPAPublisherUpg // ListObjects - Get list of publisher upgrade profile objects // Get list of publisher upgrade profile objects -func (s *NPAPublisherUpgradeProfiles) ListObjects(ctx context.Context, request operations.GetInfrastructurePublisherupgradeprofilesRequest) (*operations.GetInfrastructurePublisherupgradeprofilesResponse, error) { +func (s *NPAPublisherUpgradeProfiles) ListObjects(ctx context.Context, request operations.GetPublisherUpgradeProfilesRequest) (*operations.GetPublisherUpgradeProfilesResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getPublisherUpgradeProfiles", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publisherupgradeprofiles" + opURL, err := url.JoinPath(baseURL, "/infrastructure/publisherupgradeprofiles") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { return nil, fmt.Errorf("error populating query params: %w", err) } - client := s.sdkConfiguration.SecurityClient + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } - httpRes, err := client.Do(req) + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) + return nil, err } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetPublisherUpgradeProfilesResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, } rawBody, err := io.ReadAll(httpRes.Body) @@ -59,17 +97,10 @@ func (s *NPAPublisherUpgradeProfiles) ListObjects(ctx context.Context, request o httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetInfrastructurePublisherupgradeprofilesResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } switch { case httpRes.StatusCode == 200: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.PublisherUpgradeProfileGetResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -77,11 +108,11 @@ func (s *NPAPublisherUpgradeProfiles) ListObjects(ctx context.Context, request o res.PublisherUpgradeProfileGetResponse = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.FourHundred if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -89,8 +120,10 @@ func (s *NPAPublisherUpgradeProfiles) ListObjects(ctx context.Context, request o res.FourHundred = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } return res, nil @@ -98,59 +131,85 @@ func (s *NPAPublisherUpgradeProfiles) ListObjects(ctx context.Context, request o // Create a publisher upgrade profile // Create a publisher upgrade profile -func (s *NPAPublisherUpgradeProfiles) Create(ctx context.Context, request operations.PostInfrastructurePublisherupgradeprofilesRequest) (*operations.PostInfrastructurePublisherupgradeprofilesResponse, error) { +func (s *NPAPublisherUpgradeProfiles) Create(ctx context.Context, request operations.CreateNPAPublisherUpradeProfilesRequest) (*operations.CreateNPAPublisherUpradeProfilesResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "createNPAPublisherUpradeProfiles", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publisherupgradeprofiles" + opURL, err := url.JoinPath(baseURL, "/infrastructure/publisherupgradeprofiles") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "PublisherUpgradeProfilePostRequest", "json", `request:"mediaType=application/json"`) if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) + return nil, err } - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) + req, err := http.NewRequestWithContext(ctx, "POST", opURL, bodyReader) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) req.Header.Set("Content-Type", reqContentType) if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { return nil, fmt.Errorf("error populating query params: %w", err) } - client := s.sdkConfiguration.SecurityClient + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } - httpRes, err := client.Do(req) + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) + return nil, err } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.CreateNPAPublisherUpradeProfilesResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, } rawBody, err := io.ReadAll(httpRes.Body) if err != nil { return nil, fmt.Errorf("error reading response body: %w", err) } - httpRes.Request.Body = io.NopCloser(debugBody) httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PostInfrastructurePublisherupgradeprofilesResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } switch { case httpRes.StatusCode == 200: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.PublisherUpgradeProfileResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -158,11 +217,11 @@ func (s *NPAPublisherUpgradeProfiles) Create(ctx context.Context, request operat res.PublisherUpgradeProfileResponse = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.FourHundred if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -170,8 +229,10 @@ func (s *NPAPublisherUpgradeProfiles) Create(ctx context.Context, request operat res.FourHundred = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } return res, nil @@ -179,28 +240,62 @@ func (s *NPAPublisherUpgradeProfiles) Create(ctx context.Context, request operat // Delete a publisher // Delete a publisher upgrade profile based on profile id -func (s *NPAPublisherUpgradeProfiles) Delete(ctx context.Context, request operations.DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) (*operations.DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse, error) { +func (s *NPAPublisherUpgradeProfiles) Delete(ctx context.Context, request operations.DeleteNPAPubliserUpgradeProfilesRequest) (*operations.DeleteNPAPubliserUpgradeProfilesResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "deleteNPAPubliserUpgradeProfiles", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publisherupgradeprofiles/{upgrade_profile_id}", request, nil) + opURL, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publisherupgradeprofiles/{upgrade_profile_id}", request, nil) if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } - req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil) + req, err := http.NewRequestWithContext(ctx, "DELETE", opURL, nil) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) - client := s.sdkConfiguration.SecurityClient + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } - httpRes, err := client.Do(req) + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") + + res := &operations.DeleteNPAPubliserUpgradeProfilesResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, } rawBody, err := io.ReadAll(httpRes.Body) @@ -210,29 +305,22 @@ func (s *NPAPublisherUpgradeProfiles) Delete(ctx context.Context, request operat httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } switch { case httpRes.StatusCode == 200: switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponseBody + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.DeleteNPAPubliserUpgradeProfilesResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } res.Object = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.FourHundred if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -240,8 +328,10 @@ func (s *NPAPublisherUpgradeProfiles) Delete(ctx context.Context, request operat res.FourHundred = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } return res, nil @@ -249,66 +339,85 @@ func (s *NPAPublisherUpgradeProfiles) Delete(ctx context.Context, request operat // Update a publisher upgrade profile // update a publisher upgrade profile based on publisher upgrade profile id -func (s *NPAPublisherUpgradeProfiles) Update(ctx context.Context, request operations.PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) (*operations.PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse, error) { +func (s *NPAPublisherUpgradeProfiles) Update(ctx context.Context, request operations.ReplaceNPAPublisherUpgradeProfilesRequest) (*operations.ReplaceNPAPublisherUpgradeProfilesResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "replaceNPAPublisherUpgradeProfiles", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publisherupgradeprofiles/{upgrade_profile_id}", request, nil) + opURL, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publisherupgradeprofiles/{upgrade_profile_id}", request, nil) if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PublisherUpgradeProfilePutRequest", "json", `request:"mediaType=application/json"`) if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) + return nil, err } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - req, err := http.NewRequestWithContext(ctx, "PUT", url, debugReader) + req, err := http.NewRequestWithContext(ctx, "PUT", opURL, bodyReader) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) req.Header.Set("Content-Type", reqContentType) if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { return nil, fmt.Errorf("error populating query params: %w", err) } - client := s.sdkConfiguration.SecurityClient + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } - httpRes, err := client.Do(req) + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) + return nil, err } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.ReplaceNPAPublisherUpgradeProfilesResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, } rawBody, err := io.ReadAll(httpRes.Body) if err != nil { return nil, fmt.Errorf("error reading response body: %w", err) } - httpRes.Request.Body = io.NopCloser(debugBody) httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } switch { case httpRes.StatusCode == 200: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.PublisherUpgradeProfileResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -316,11 +425,11 @@ func (s *NPAPublisherUpgradeProfiles) Update(ctx context.Context, request operat res.PublisherUpgradeProfileResponse = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.FourHundred if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -328,8 +437,10 @@ func (s *NPAPublisherUpgradeProfiles) Update(ctx context.Context, request operat res.FourHundred = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } return res, nil @@ -337,28 +448,62 @@ func (s *NPAPublisherUpgradeProfiles) Update(ctx context.Context, request operat // Read - Get a publisher upgrade profile // get a publisher upgrade profile based on publisher upgrade profile id -func (s *NPAPublisherUpgradeProfiles) Read(ctx context.Context, request operations.GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) (*operations.GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse, error) { +func (s *NPAPublisherUpgradeProfiles) Read(ctx context.Context, request operations.GetNPAPublisherUpgradeProfilesRequest) (*operations.GetNPAPublisherUpgradeProfilesResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getNPAPublisherUpgradeProfiles", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publisherupgradeprofiles/{upgrade_profile_id}", request, nil) + opURL, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publisherupgradeprofiles/{upgrade_profile_id}", request, nil) if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) - client := s.sdkConfiguration.SecurityClient + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } - httpRes, err := client.Do(req) + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") + + res := &operations.GetNPAPublisherUpgradeProfilesResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, } rawBody, err := io.ReadAll(httpRes.Body) @@ -368,17 +513,10 @@ func (s *NPAPublisherUpgradeProfiles) Read(ctx context.Context, request operatio httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } switch { case httpRes.StatusCode == 200: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.PublisherUpgradeProfileResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -386,11 +524,11 @@ func (s *NPAPublisherUpgradeProfiles) Read(ctx context.Context, request operatio res.PublisherUpgradeProfileResponse = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.FourHundred if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -398,8 +536,10 @@ func (s *NPAPublisherUpgradeProfiles) Read(ctx context.Context, request operatio res.FourHundred = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } return res, nil diff --git a/internal/sdk/pkg/models/operations/deleteinfrastructurepublisherspublisherid.go b/internal/sdk/pkg/models/operations/deleteinfrastructurepublisherspublisherid.go deleted file mode 100644 index 80f361d..0000000 --- a/internal/sdk/pkg/models/operations/deleteinfrastructurepublisherspublisherid.go +++ /dev/null @@ -1,109 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "net/http" -) - -type DeleteInfrastructurePublishersPublisherIDRequest struct { - // publisher id - PublisherID int `pathParam:"style=simple,explode=false,name=publisher_id"` -} - -func (o *DeleteInfrastructurePublishersPublisherIDRequest) GetPublisherID() int { - if o == nil { - return 0 - } - return o.PublisherID -} - -type DeleteInfrastructurePublishersPublisherIDStatus string - -const ( - DeleteInfrastructurePublishersPublisherIDStatusSuccess DeleteInfrastructurePublishersPublisherIDStatus = "success" - DeleteInfrastructurePublishersPublisherIDStatusError DeleteInfrastructurePublishersPublisherIDStatus = "error" -) - -func (e DeleteInfrastructurePublishersPublisherIDStatus) ToPointer() *DeleteInfrastructurePublishersPublisherIDStatus { - return &e -} - -func (e *DeleteInfrastructurePublishersPublisherIDStatus) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "success": - fallthrough - case "error": - *e = DeleteInfrastructurePublishersPublisherIDStatus(v) - return nil - default: - return fmt.Errorf("invalid value for DeleteInfrastructurePublishersPublisherIDStatus: %v", v) - } -} - -// DeleteInfrastructurePublishersPublisherIDResponseBody - successful operation -type DeleteInfrastructurePublishersPublisherIDResponseBody struct { - Status *DeleteInfrastructurePublishersPublisherIDStatus `json:"status,omitempty"` -} - -func (o *DeleteInfrastructurePublishersPublisherIDResponseBody) GetStatus() *DeleteInfrastructurePublishersPublisherIDStatus { - if o == nil { - return nil - } - return o.Status -} - -type DeleteInfrastructurePublishersPublisherIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - Object *DeleteInfrastructurePublishersPublisherIDResponseBody - // Invalid request - PublishersResponse400 *shared.PublishersResponse400 -} - -func (o *DeleteInfrastructurePublishersPublisherIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *DeleteInfrastructurePublishersPublisherIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *DeleteInfrastructurePublishersPublisherIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *DeleteInfrastructurePublishersPublisherIDResponse) GetObject() *DeleteInfrastructurePublishersPublisherIDResponseBody { - if o == nil { - return nil - } - return o.Object -} - -func (o *DeleteInfrastructurePublishersPublisherIDResponse) GetPublishersResponse400() *shared.PublishersResponse400 { - if o == nil { - return nil - } - return o.PublishersResponse400 -} diff --git a/internal/sdk/pkg/models/operations/deleteinfrastructurepublisherupgradeprofilesupgradeprofileid.go b/internal/sdk/pkg/models/operations/deleteinfrastructurepublisherupgradeprofilesupgradeprofileid.go deleted file mode 100644 index 7ee1392..0000000 --- a/internal/sdk/pkg/models/operations/deleteinfrastructurepublisherupgradeprofilesupgradeprofileid.go +++ /dev/null @@ -1,109 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "net/http" -) - -type DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest struct { - // publisher upgrade profile id - UpgradeProfileID int `pathParam:"style=simple,explode=false,name=upgrade_profile_id"` -} - -func (o *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) GetUpgradeProfileID() int { - if o == nil { - return 0 - } - return o.UpgradeProfileID -} - -type DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus string - -const ( - DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatusSuccess DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus = "success" - DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatusError DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus = "error" -) - -func (e DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus) ToPointer() *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus { - return &e -} - -func (e *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "success": - fallthrough - case "error": - *e = DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus(v) - return nil - default: - return fmt.Errorf("invalid value for DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus: %v", v) - } -} - -// DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponseBody - successful operation -type DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponseBody struct { - Status *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus `json:"status,omitempty"` -} - -func (o *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponseBody) GetStatus() *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDStatus { - if o == nil { - return nil - } - return o.Status -} - -type DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - Object *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponseBody - // Invalid request - FourHundred *shared.FourHundred -} - -func (o *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetObject() *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponseBody { - if o == nil { - return nil - } - return o.Object -} - -func (o *DeleteInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetFourHundred() *shared.FourHundred { - if o == nil { - return nil - } - return o.FourHundred -} diff --git a/internal/sdk/pkg/models/operations/getusers.go b/internal/sdk/pkg/models/operations/getusers.go new file mode 100644 index 0000000..d52bb18 --- /dev/null +++ b/internal/sdk/pkg/models/operations/getusers.go @@ -0,0 +1,368 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "net/http" +) + +type GetUsersRequest struct { + // key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" + Filter *string `queryParam:"style=form,explode=true,name=filter"` + StartIndex *int64 `queryParam:"style=form,explode=true,name=startIndex"` + Count *int64 `queryParam:"style=form,explode=true,name=count"` +} + +func (o *GetUsersRequest) GetFilter() *string { + if o == nil { + return nil + } + return o.Filter +} + +func (o *GetUsersRequest) GetStartIndex() *int64 { + if o == nil { + return nil + } + return o.StartIndex +} + +func (o *GetUsersRequest) GetCount() *int64 { + if o == nil { + return nil + } + return o.Count +} + +type GetUsersScimUsersStatus string + +const ( + GetUsersScimUsersStatusFailed GetUsersScimUsersStatus = "failed" + GetUsersScimUsersStatusFiveHundredAndOne GetUsersScimUsersStatus = "501" +) + +func (e GetUsersScimUsersStatus) ToPointer() *GetUsersScimUsersStatus { + return &e +} + +func (e *GetUsersScimUsersStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "failed": + fallthrough + case "501": + *e = GetUsersScimUsersStatus(v) + return nil + default: + return fmt.Errorf("invalid value for GetUsersScimUsersStatus: %v", v) + } +} + +// GetUsersScimUsersResponse501ResponseBody - Internal error Failed +type GetUsersScimUsersResponse501ResponseBody struct { + Status *GetUsersScimUsersStatus `json:"status,omitempty"` + Schemas *string `json:"schemas,omitempty"` + Detail *string `json:"detail,omitempty"` +} + +func (o *GetUsersScimUsersResponse501ResponseBody) GetStatus() *GetUsersScimUsersStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *GetUsersScimUsersResponse501ResponseBody) GetSchemas() *string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *GetUsersScimUsersResponse501ResponseBody) GetDetail() *string { + if o == nil { + return nil + } + return o.Detail +} + +// GetUsersScimUsersResponseResponseBody - Not authorized to execte the specific API. +type GetUsersScimUsersResponseResponseBody struct { + Message *string `json:"message,omitempty"` +} + +func (o *GetUsersScimUsersResponseResponseBody) GetMessage() *string { + if o == nil { + return nil + } + return o.Message +} + +type GetUsersStatus string + +const ( + GetUsersStatusFourHundred GetUsersStatus = "400" + GetUsersStatusFailed GetUsersStatus = "failed" +) + +func (e GetUsersStatus) ToPointer() *GetUsersStatus { + return &e +} + +func (e *GetUsersStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "400": + fallthrough + case "failed": + *e = GetUsersStatus(v) + return nil + default: + return fmt.Errorf("invalid value for GetUsersStatus: %v", v) + } +} + +// GetUsersScimUsersResponseBody - Failed +type GetUsersScimUsersResponseBody struct { + Status *GetUsersStatus `json:"status,omitempty"` + Description *string `json:"description,omitempty"` + // schema of the resource + Schemas []string `json:"schemas,omitempty"` +} + +func (o *GetUsersScimUsersResponseBody) GetStatus() *GetUsersStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *GetUsersScimUsersResponseBody) GetDescription() *string { + if o == nil { + return nil + } + return o.Description +} + +func (o *GetUsersScimUsersResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +// GetUsersName - Family_name and given_name for the User +type GetUsersName struct { + // last_name of the SCIM User. + FamilyName *string `json:"familyName,omitempty"` + // first_name of the SCIM User. + GivenName *string `json:"givenName,omitempty"` +} + +func (o *GetUsersName) GetFamilyName() *string { + if o == nil { + return nil + } + return o.FamilyName +} + +func (o *GetUsersName) GetGivenName() *string { + if o == nil { + return nil + } + return o.GivenName +} + +type GetUsersEmails struct { + // Email ID of the SCIM user + Value *string `json:"value,omitempty"` + Primary *bool `json:"primary,omitempty"` +} + +func (o *GetUsersEmails) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +func (o *GetUsersEmails) GetPrimary() *bool { + if o == nil { + return nil + } + return o.Primary +} + +type Resources struct { + // SCIM User ID + ID *string `json:"id,omitempty"` + // UPN name of the SCIM User + UserName *string `json:"userName,omitempty"` + // Family_name and given_name for the User + Name *GetUsersName `json:"name,omitempty"` + Active *bool `json:"active,omitempty"` + Emails []GetUsersEmails `json:"emails,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` +} + +func (o *Resources) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *Resources) GetUserName() *string { + if o == nil { + return nil + } + return o.UserName +} + +func (o *Resources) GetName() *GetUsersName { + if o == nil { + return nil + } + return o.Name +} + +func (o *Resources) GetActive() *bool { + if o == nil { + return nil + } + return o.Active +} + +func (o *Resources) GetEmails() []GetUsersEmails { + if o == nil { + return nil + } + return o.Emails +} + +func (o *Resources) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +// GetUsersResponseBody - Successfully added/overwritten the User. +type GetUsersResponseBody struct { + // schema of the resource + Schemas []string `json:"schemas,omitempty"` + TotalResults *int64 `json:"totalResults,omitempty"` + StartIndex *int64 `json:"startIndex,omitempty"` + ItemsPerPage *int64 `json:"itemsPerPage,omitempty"` + Resources []Resources `json:"Resources,omitempty"` +} + +func (o *GetUsersResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *GetUsersResponseBody) GetTotalResults() *int64 { + if o == nil { + return nil + } + return o.TotalResults +} + +func (o *GetUsersResponseBody) GetStartIndex() *int64 { + if o == nil { + return nil + } + return o.StartIndex +} + +func (o *GetUsersResponseBody) GetItemsPerPage() *int64 { + if o == nil { + return nil + } + return o.ItemsPerPage +} + +func (o *GetUsersResponseBody) GetResources() []Resources { + if o == nil { + return nil + } + return o.Resources +} + +type GetUsersResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successfully added/overwritten the User. + TwoHundredApplicationScimPlusJSONObject *GetUsersResponseBody + // Failed + FourHundredApplicationJSONObject *GetUsersScimUsersResponseBody + // Not authorized to execte the specific API. + FourHundredAndThreeApplicationJSONObject *GetUsersScimUsersResponseResponseBody + // Internal error Failed + FiveHundredAndOneApplicationJSONObject *GetUsersScimUsersResponse501ResponseBody +} + +func (o *GetUsersResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetUsersResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetUsersResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetUsersResponse) GetTwoHundredApplicationScimPlusJSONObject() *GetUsersResponseBody { + if o == nil { + return nil + } + return o.TwoHundredApplicationScimPlusJSONObject +} + +func (o *GetUsersResponse) GetFourHundredApplicationJSONObject() *GetUsersScimUsersResponseBody { + if o == nil { + return nil + } + return o.FourHundredApplicationJSONObject +} + +func (o *GetUsersResponse) GetFourHundredAndThreeApplicationJSONObject() *GetUsersScimUsersResponseResponseBody { + if o == nil { + return nil + } + return o.FourHundredAndThreeApplicationJSONObject +} + +func (o *GetUsersResponse) GetFiveHundredAndOneApplicationJSONObject() *GetUsersScimUsersResponse501ResponseBody { + if o == nil { + return nil + } + return o.FiveHundredAndOneApplicationJSONObject +} diff --git a/internal/sdk/pkg/models/operations/getusersid.go b/internal/sdk/pkg/models/operations/getusersid.go new file mode 100644 index 0000000..d814fe9 --- /dev/null +++ b/internal/sdk/pkg/models/operations/getusersid.go @@ -0,0 +1,298 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "net/http" +) + +type GetUsersIDRequest struct { + // SCIM Used ID should be specified + ID string `pathParam:"style=simple,explode=false,name=id"` +} + +func (o *GetUsersIDRequest) GetID() string { + if o == nil { + return "" + } + return o.ID +} + +type GetUsersIDStatus string + +const ( + GetUsersIDStatusFailed GetUsersIDStatus = "failed" + GetUsersIDStatusFiveHundredAndOne GetUsersIDStatus = "501" +) + +func (e GetUsersIDStatus) ToPointer() *GetUsersIDStatus { + return &e +} + +func (e *GetUsersIDStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "failed": + fallthrough + case "501": + *e = GetUsersIDStatus(v) + return nil + default: + return fmt.Errorf("invalid value for GetUsersIDStatus: %v", v) + } +} + +// GetUsersIDScimUsersResponseResponseBody - Internal error Failed +type GetUsersIDScimUsersResponseResponseBody struct { + Status *GetUsersIDStatus `json:"status,omitempty"` + Schemas *string `json:"schemas,omitempty"` + Detail *string `json:"detail,omitempty"` +} + +func (o *GetUsersIDScimUsersResponseResponseBody) GetStatus() *GetUsersIDStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *GetUsersIDScimUsersResponseResponseBody) GetSchemas() *string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *GetUsersIDScimUsersResponseResponseBody) GetDetail() *string { + if o == nil { + return nil + } + return o.Detail +} + +// GetUsersIDScimUsersResponseBody - Not authorized to execte the specific API. +type GetUsersIDScimUsersResponseBody struct { + Message *string `json:"message,omitempty"` +} + +func (o *GetUsersIDScimUsersResponseBody) GetMessage() *string { + if o == nil { + return nil + } + return o.Message +} + +type GetUsersIDSchemas string + +const ( + GetUsersIDSchemasUrnIetfParamsScimSchemasCore20User GetUsersIDSchemas = "urn:ietf:params:scim:schemas:core:2.0:User" +) + +func (e GetUsersIDSchemas) ToPointer() *GetUsersIDSchemas { + return &e +} + +func (e *GetUsersIDSchemas) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "urn:ietf:params:scim:schemas:core:2.0:User": + *e = GetUsersIDSchemas(v) + return nil + default: + return fmt.Errorf("invalid value for GetUsersIDSchemas: %v", v) + } +} + +// GetUsersIDName - Family_name and given_name for the User +type GetUsersIDName struct { + // last_name of the SCIM User. + FamilyName *string `json:"familyName,omitempty"` + // first_name of the SCIM User. + GivenName *string `json:"givenName,omitempty"` +} + +func (o *GetUsersIDName) GetFamilyName() *string { + if o == nil { + return nil + } + return o.FamilyName +} + +func (o *GetUsersIDName) GetGivenName() *string { + if o == nil { + return nil + } + return o.GivenName +} + +type GetUsersIDEmails struct { + // Email ID of the SCIM user + Value *string `json:"value,omitempty"` + Primary *bool `json:"primary,omitempty"` +} + +func (o *GetUsersIDEmails) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +func (o *GetUsersIDEmails) GetPrimary() *bool { + if o == nil { + return nil + } + return o.Primary +} + +// GetUsersIDMeta - meta information +type GetUsersIDMeta struct { + // resource type User/Group. + ResourceType *string `json:"resourceType,omitempty"` +} + +func (o *GetUsersIDMeta) GetResourceType() *string { + if o == nil { + return nil + } + return o.ResourceType +} + +// GetUsersIDResponseBody - Successfully deleted the User. +type GetUsersIDResponseBody struct { + // schema of the resource + Schemas []GetUsersIDSchemas `json:"schemas,omitempty"` + // SCIM User ID + ID *string `json:"id,omitempty"` + // UPN name of the SCIM User + UserName *string `json:"userName,omitempty"` + // Family_name and given_name for the User + Name *GetUsersIDName `json:"name,omitempty"` + Active *bool `json:"active,omitempty"` + Emails []GetUsersIDEmails `json:"emails,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` + // meta information + Meta *GetUsersIDMeta `json:"meta,omitempty"` +} + +func (o *GetUsersIDResponseBody) GetSchemas() []GetUsersIDSchemas { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *GetUsersIDResponseBody) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *GetUsersIDResponseBody) GetUserName() *string { + if o == nil { + return nil + } + return o.UserName +} + +func (o *GetUsersIDResponseBody) GetName() *GetUsersIDName { + if o == nil { + return nil + } + return o.Name +} + +func (o *GetUsersIDResponseBody) GetActive() *bool { + if o == nil { + return nil + } + return o.Active +} + +func (o *GetUsersIDResponseBody) GetEmails() []GetUsersIDEmails { + if o == nil { + return nil + } + return o.Emails +} + +func (o *GetUsersIDResponseBody) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +func (o *GetUsersIDResponseBody) GetMeta() *GetUsersIDMeta { + if o == nil { + return nil + } + return o.Meta +} + +type GetUsersIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successfully deleted the User. + TwoHundredApplicationScimPlusJSONObject *GetUsersIDResponseBody + // Not authorized to execte the specific API. + FourHundredAndThreeApplicationJSONObject *GetUsersIDScimUsersResponseBody + // Internal error Failed + FiveHundredAndOneApplicationJSONObject *GetUsersIDScimUsersResponseResponseBody +} + +func (o *GetUsersIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *GetUsersIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *GetUsersIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *GetUsersIDResponse) GetTwoHundredApplicationScimPlusJSONObject() *GetUsersIDResponseBody { + if o == nil { + return nil + } + return o.TwoHundredApplicationScimPlusJSONObject +} + +func (o *GetUsersIDResponse) GetFourHundredAndThreeApplicationJSONObject() *GetUsersIDScimUsersResponseBody { + if o == nil { + return nil + } + return o.FourHundredAndThreeApplicationJSONObject +} + +func (o *GetUsersIDResponse) GetFiveHundredAndOneApplicationJSONObject() *GetUsersIDScimUsersResponseResponseBody { + if o == nil { + return nil + } + return o.FiveHundredAndOneApplicationJSONObject +} diff --git a/internal/sdk/pkg/models/operations/patchinfrastructurepublisherspublisherid.go b/internal/sdk/pkg/models/operations/patchinfrastructurepublisherspublisherid.go deleted file mode 100644 index 1e90840..0000000 --- a/internal/sdk/pkg/models/operations/patchinfrastructurepublisherspublisherid.go +++ /dev/null @@ -1,115 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "net/http" -) - -// PatchInfrastructurePublishersPublisherIDQueryParamSilent - flag to skip output except status code -type PatchInfrastructurePublishersPublisherIDQueryParamSilent string - -const ( - PatchInfrastructurePublishersPublisherIDQueryParamSilentOne PatchInfrastructurePublishersPublisherIDQueryParamSilent = "1" - PatchInfrastructurePublishersPublisherIDQueryParamSilentZero PatchInfrastructurePublishersPublisherIDQueryParamSilent = "0" -) - -func (e PatchInfrastructurePublishersPublisherIDQueryParamSilent) ToPointer() *PatchInfrastructurePublishersPublisherIDQueryParamSilent { - return &e -} - -func (e *PatchInfrastructurePublishersPublisherIDQueryParamSilent) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "1": - fallthrough - case "0": - *e = PatchInfrastructurePublishersPublisherIDQueryParamSilent(v) - return nil - default: - return fmt.Errorf("invalid value for PatchInfrastructurePublishersPublisherIDQueryParamSilent: %v", v) - } -} - -type PatchInfrastructurePublishersPublisherIDRequest struct { - // publisher id - PublisherID int `pathParam:"style=simple,explode=false,name=publisher_id"` - // flag to skip output except status code - Silent *PatchInfrastructurePublishersPublisherIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` - PublisherPutRequest shared.PublisherPutRequest `request:"mediaType=application/json"` -} - -func (o *PatchInfrastructurePublishersPublisherIDRequest) GetPublisherID() int { - if o == nil { - return 0 - } - return o.PublisherID -} - -func (o *PatchInfrastructurePublishersPublisherIDRequest) GetSilent() *PatchInfrastructurePublishersPublisherIDQueryParamSilent { - if o == nil { - return nil - } - return o.Silent -} - -func (o *PatchInfrastructurePublishersPublisherIDRequest) GetPublisherPutRequest() shared.PublisherPutRequest { - if o == nil { - return shared.PublisherPutRequest{} - } - return o.PublisherPutRequest -} - -type PatchInfrastructurePublishersPublisherIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - PublisherResponse *shared.PublisherResponse - // Invalid request - PublishersResponse400 *shared.PublishersResponse400 -} - -func (o *PatchInfrastructurePublishersPublisherIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PatchInfrastructurePublishersPublisherIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PatchInfrastructurePublishersPublisherIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PatchInfrastructurePublishersPublisherIDResponse) GetPublisherResponse() *shared.PublisherResponse { - if o == nil { - return nil - } - return o.PublisherResponse -} - -func (o *PatchInfrastructurePublishersPublisherIDResponse) GetPublishersResponse400() *shared.PublishersResponse400 { - if o == nil { - return nil - } - return o.PublishersResponse400 -} diff --git a/internal/sdk/pkg/models/operations/patchpolicynpapolicygroupsid.go b/internal/sdk/pkg/models/operations/patchpolicynpapolicygroupsid.go deleted file mode 100644 index 1cf5853..0000000 --- a/internal/sdk/pkg/models/operations/patchpolicynpapolicygroupsid.go +++ /dev/null @@ -1,127 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "net/http" -) - -// PatchPolicyNpaPolicygroupsIDQueryParamSilent - flag to skip output except status code -type PatchPolicyNpaPolicygroupsIDQueryParamSilent string - -const ( - PatchPolicyNpaPolicygroupsIDQueryParamSilentOne PatchPolicyNpaPolicygroupsIDQueryParamSilent = "1" - PatchPolicyNpaPolicygroupsIDQueryParamSilentZero PatchPolicyNpaPolicygroupsIDQueryParamSilent = "0" -) - -func (e PatchPolicyNpaPolicygroupsIDQueryParamSilent) ToPointer() *PatchPolicyNpaPolicygroupsIDQueryParamSilent { - return &e -} - -func (e *PatchPolicyNpaPolicygroupsIDQueryParamSilent) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "1": - fallthrough - case "0": - *e = PatchPolicyNpaPolicygroupsIDQueryParamSilent(v) - return nil - default: - return fmt.Errorf("invalid value for PatchPolicyNpaPolicygroupsIDQueryParamSilent: %v", v) - } -} - -type PatchPolicyNpaPolicygroupsIDRequest struct { - // policy group rule id - ID string `pathParam:"style=simple,explode=false,name=id"` - // flag to skip output except status code - Silent *PatchPolicyNpaPolicygroupsIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` - NpaPolicygroupRequest shared.NpaPolicygroupRequest `request:"mediaType=application/json"` -} - -func (o *PatchPolicyNpaPolicygroupsIDRequest) GetID() string { - if o == nil { - return "" - } - return o.ID -} - -func (o *PatchPolicyNpaPolicygroupsIDRequest) GetSilent() *PatchPolicyNpaPolicygroupsIDQueryParamSilent { - if o == nil { - return nil - } - return o.Silent -} - -func (o *PatchPolicyNpaPolicygroupsIDRequest) GetNpaPolicygroupRequest() shared.NpaPolicygroupRequest { - if o == nil { - return shared.NpaPolicygroupRequest{} - } - return o.NpaPolicygroupRequest -} - -// PatchPolicyNpaPolicygroupsIDResponseBody - successful operation -type PatchPolicyNpaPolicygroupsIDResponseBody struct { - Data *shared.NpaPolicygroupResponseItem `json:"data,omitempty"` -} - -func (o *PatchPolicyNpaPolicygroupsIDResponseBody) GetData() *shared.NpaPolicygroupResponseItem { - if o == nil { - return nil - } - return o.Data -} - -type PatchPolicyNpaPolicygroupsIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - Object *PatchPolicyNpaPolicygroupsIDResponseBody - // Invalid request - NpaPolicygroupResponse400 *shared.NpaPolicygroupResponse400 -} - -func (o *PatchPolicyNpaPolicygroupsIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PatchPolicyNpaPolicygroupsIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PatchPolicyNpaPolicygroupsIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PatchPolicyNpaPolicygroupsIDResponse) GetObject() *PatchPolicyNpaPolicygroupsIDResponseBody { - if o == nil { - return nil - } - return o.Object -} - -func (o *PatchPolicyNpaPolicygroupsIDResponse) GetNpaPolicygroupResponse400() *shared.NpaPolicygroupResponse400 { - if o == nil { - return nil - } - return o.NpaPolicygroupResponse400 -} diff --git a/internal/sdk/pkg/models/operations/patchpolicynparulesid.go b/internal/sdk/pkg/models/operations/patchpolicynparulesid.go deleted file mode 100644 index 03d9729..0000000 --- a/internal/sdk/pkg/models/operations/patchpolicynparulesid.go +++ /dev/null @@ -1,127 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "net/http" -) - -// PatchPolicyNpaRulesIDQueryParamSilent - flag to skip output except status code -type PatchPolicyNpaRulesIDQueryParamSilent string - -const ( - PatchPolicyNpaRulesIDQueryParamSilentOne PatchPolicyNpaRulesIDQueryParamSilent = "1" - PatchPolicyNpaRulesIDQueryParamSilentZero PatchPolicyNpaRulesIDQueryParamSilent = "0" -) - -func (e PatchPolicyNpaRulesIDQueryParamSilent) ToPointer() *PatchPolicyNpaRulesIDQueryParamSilent { - return &e -} - -func (e *PatchPolicyNpaRulesIDQueryParamSilent) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "1": - fallthrough - case "0": - *e = PatchPolicyNpaRulesIDQueryParamSilent(v) - return nil - default: - return fmt.Errorf("invalid value for PatchPolicyNpaRulesIDQueryParamSilent: %v", v) - } -} - -type PatchPolicyNpaRulesIDRequest struct { - // policy rule id - ID string `pathParam:"style=simple,explode=false,name=id"` - // flag to skip output except status code - Silent *PatchPolicyNpaRulesIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` - NpaPolicyRequest shared.NpaPolicyRequest `request:"mediaType=application/json"` -} - -func (o *PatchPolicyNpaRulesIDRequest) GetID() string { - if o == nil { - return "" - } - return o.ID -} - -func (o *PatchPolicyNpaRulesIDRequest) GetSilent() *PatchPolicyNpaRulesIDQueryParamSilent { - if o == nil { - return nil - } - return o.Silent -} - -func (o *PatchPolicyNpaRulesIDRequest) GetNpaPolicyRequest() shared.NpaPolicyRequest { - if o == nil { - return shared.NpaPolicyRequest{} - } - return o.NpaPolicyRequest -} - -// PatchPolicyNpaRulesIDResponseBody - successful operation -type PatchPolicyNpaRulesIDResponseBody struct { - Data *shared.NpaPolicyResponseItem `json:"data,omitempty"` -} - -func (o *PatchPolicyNpaRulesIDResponseBody) GetData() *shared.NpaPolicyResponseItem { - if o == nil { - return nil - } - return o.Data -} - -type PatchPolicyNpaRulesIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - Object *PatchPolicyNpaRulesIDResponseBody - // Invalid request - NpaPolicyResponse400 *shared.NpaPolicyResponse400 -} - -func (o *PatchPolicyNpaRulesIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PatchPolicyNpaRulesIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PatchPolicyNpaRulesIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PatchPolicyNpaRulesIDResponse) GetObject() *PatchPolicyNpaRulesIDResponseBody { - if o == nil { - return nil - } - return o.Object -} - -func (o *PatchPolicyNpaRulesIDResponse) GetNpaPolicyResponse400() *shared.NpaPolicyResponse400 { - if o == nil { - return nil - } - return o.NpaPolicyResponse400 -} diff --git a/internal/sdk/pkg/models/operations/patchsteeringappsprivateprivateappid.go b/internal/sdk/pkg/models/operations/patchsteeringappsprivateprivateappid.go deleted file mode 100644 index af7ab15..0000000 --- a/internal/sdk/pkg/models/operations/patchsteeringappsprivateprivateappid.go +++ /dev/null @@ -1,115 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "net/http" -) - -// PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent - flag to skip output except status code -type PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent string - -const ( - PatchSteeringAppsPrivatePrivateAppIDQueryParamSilentOne PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent = "1" - PatchSteeringAppsPrivatePrivateAppIDQueryParamSilentZero PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent = "0" -) - -func (e PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent) ToPointer() *PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent { - return &e -} - -func (e *PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "1": - fallthrough - case "0": - *e = PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent(v) - return nil - default: - return fmt.Errorf("invalid value for PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent: %v", v) - } -} - -type PatchSteeringAppsPrivatePrivateAppIDRequest struct { - // private apps id - PrivateAppID int `pathParam:"style=simple,explode=false,name=private_app_id"` - // flag to skip output except status code - Silent *PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` - PrivateAppsPutRequest shared.PrivateAppsPutRequest `request:"mediaType=application/json"` -} - -func (o *PatchSteeringAppsPrivatePrivateAppIDRequest) GetPrivateAppID() int { - if o == nil { - return 0 - } - return o.PrivateAppID -} - -func (o *PatchSteeringAppsPrivatePrivateAppIDRequest) GetSilent() *PatchSteeringAppsPrivatePrivateAppIDQueryParamSilent { - if o == nil { - return nil - } - return o.Silent -} - -func (o *PatchSteeringAppsPrivatePrivateAppIDRequest) GetPrivateAppsPutRequest() shared.PrivateAppsPutRequest { - if o == nil { - return shared.PrivateAppsPutRequest{} - } - return o.PrivateAppsPutRequest -} - -type PatchSteeringAppsPrivatePrivateAppIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - PrivateAppsResponse *shared.PrivateAppsResponse - // Invalid request - PrivateAppsResponse400 *shared.PrivateAppsResponse400 -} - -func (o *PatchSteeringAppsPrivatePrivateAppIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PatchSteeringAppsPrivatePrivateAppIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PatchSteeringAppsPrivatePrivateAppIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PatchSteeringAppsPrivatePrivateAppIDResponse) GetPrivateAppsResponse() *shared.PrivateAppsResponse { - if o == nil { - return nil - } - return o.PrivateAppsResponse -} - -func (o *PatchSteeringAppsPrivatePrivateAppIDResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { - if o == nil { - return nil - } - return o.PrivateAppsResponse400 -} diff --git a/internal/sdk/pkg/models/operations/postinfrastructurepublisherspublisheridregistrationtoken.go b/internal/sdk/pkg/models/operations/postinfrastructurepublisherspublisheridregistrationtoken.go deleted file mode 100644 index efe71b5..0000000 --- a/internal/sdk/pkg/models/operations/postinfrastructurepublisherspublisheridregistrationtoken.go +++ /dev/null @@ -1,128 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "net/http" -) - -type PostInfrastructurePublishersPublisherIDRegistrationTokenRequest struct { - // publisher id - PublisherID int `pathParam:"style=simple,explode=false,name=publisher_id"` -} - -func (o *PostInfrastructurePublishersPublisherIDRegistrationTokenRequest) GetPublisherID() int { - if o == nil { - return 0 - } - return o.PublisherID -} - -type PostInfrastructurePublishersPublisherIDRegistrationTokenData struct { - Token string `json:"token"` -} - -func (o *PostInfrastructurePublishersPublisherIDRegistrationTokenData) GetToken() string { - if o == nil { - return "" - } - return o.Token -} - -type PostInfrastructurePublishersPublisherIDRegistrationTokenStatus string - -const ( - PostInfrastructurePublishersPublisherIDRegistrationTokenStatusSuccess PostInfrastructurePublishersPublisherIDRegistrationTokenStatus = "success" - PostInfrastructurePublishersPublisherIDRegistrationTokenStatusNotFound PostInfrastructurePublishersPublisherIDRegistrationTokenStatus = "not found" -) - -func (e PostInfrastructurePublishersPublisherIDRegistrationTokenStatus) ToPointer() *PostInfrastructurePublishersPublisherIDRegistrationTokenStatus { - return &e -} - -func (e *PostInfrastructurePublishersPublisherIDRegistrationTokenStatus) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "success": - fallthrough - case "not found": - *e = PostInfrastructurePublishersPublisherIDRegistrationTokenStatus(v) - return nil - default: - return fmt.Errorf("invalid value for PostInfrastructurePublishersPublisherIDRegistrationTokenStatus: %v", v) - } -} - -// PostInfrastructurePublishersPublisherIDRegistrationTokenResponseBody - successful operation -type PostInfrastructurePublishersPublisherIDRegistrationTokenResponseBody struct { - Data PostInfrastructurePublishersPublisherIDRegistrationTokenData `json:"data"` - Status PostInfrastructurePublishersPublisherIDRegistrationTokenStatus `json:"status"` -} - -func (o *PostInfrastructurePublishersPublisherIDRegistrationTokenResponseBody) GetData() PostInfrastructurePublishersPublisherIDRegistrationTokenData { - if o == nil { - return PostInfrastructurePublishersPublisherIDRegistrationTokenData{} - } - return o.Data -} - -func (o *PostInfrastructurePublishersPublisherIDRegistrationTokenResponseBody) GetStatus() PostInfrastructurePublishersPublisherIDRegistrationTokenStatus { - if o == nil { - return PostInfrastructurePublishersPublisherIDRegistrationTokenStatus("") - } - return o.Status -} - -type PostInfrastructurePublishersPublisherIDRegistrationTokenResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - Object *PostInfrastructurePublishersPublisherIDRegistrationTokenResponseBody - // Invalid request - PublishersResponse400 *shared.PublishersResponse400 -} - -func (o *PostInfrastructurePublishersPublisherIDRegistrationTokenResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PostInfrastructurePublishersPublisherIDRegistrationTokenResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PostInfrastructurePublishersPublisherIDRegistrationTokenResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PostInfrastructurePublishersPublisherIDRegistrationTokenResponse) GetObject() *PostInfrastructurePublishersPublisherIDRegistrationTokenResponseBody { - if o == nil { - return nil - } - return o.Object -} - -func (o *PostInfrastructurePublishersPublisherIDRegistrationTokenResponse) GetPublishersResponse400() *shared.PublishersResponse400 { - if o == nil { - return nil - } - return o.PublishersResponse400 -} diff --git a/internal/sdk/pkg/models/operations/postinfrastructurepublisherupgradeprofiles.go b/internal/sdk/pkg/models/operations/postinfrastructurepublisherupgradeprofiles.go deleted file mode 100644 index 176ac5f..0000000 --- a/internal/sdk/pkg/models/operations/postinfrastructurepublisherupgradeprofiles.go +++ /dev/null @@ -1,106 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "net/http" -) - -// PostInfrastructurePublisherupgradeprofilesQueryParamSilent - flag to skip output except status code -type PostInfrastructurePublisherupgradeprofilesQueryParamSilent string - -const ( - PostInfrastructurePublisherupgradeprofilesQueryParamSilentOne PostInfrastructurePublisherupgradeprofilesQueryParamSilent = "1" - PostInfrastructurePublisherupgradeprofilesQueryParamSilentZero PostInfrastructurePublisherupgradeprofilesQueryParamSilent = "0" -) - -func (e PostInfrastructurePublisherupgradeprofilesQueryParamSilent) ToPointer() *PostInfrastructurePublisherupgradeprofilesQueryParamSilent { - return &e -} - -func (e *PostInfrastructurePublisherupgradeprofilesQueryParamSilent) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "1": - fallthrough - case "0": - *e = PostInfrastructurePublisherupgradeprofilesQueryParamSilent(v) - return nil - default: - return fmt.Errorf("invalid value for PostInfrastructurePublisherupgradeprofilesQueryParamSilent: %v", v) - } -} - -type PostInfrastructurePublisherupgradeprofilesRequest struct { - // flag to skip output except status code - Silent *PostInfrastructurePublisherupgradeprofilesQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` - PublisherUpgradeProfilePostRequest *shared.PublisherUpgradeProfilePostRequest `request:"mediaType=application/json"` -} - -func (o *PostInfrastructurePublisherupgradeprofilesRequest) GetSilent() *PostInfrastructurePublisherupgradeprofilesQueryParamSilent { - if o == nil { - return nil - } - return o.Silent -} - -func (o *PostInfrastructurePublisherupgradeprofilesRequest) GetPublisherUpgradeProfilePostRequest() *shared.PublisherUpgradeProfilePostRequest { - if o == nil { - return nil - } - return o.PublisherUpgradeProfilePostRequest -} - -type PostInfrastructurePublisherupgradeprofilesResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - PublisherUpgradeProfileResponse *shared.PublisherUpgradeProfileResponse - // Invalid request - FourHundred *shared.FourHundred -} - -func (o *PostInfrastructurePublisherupgradeprofilesResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PostInfrastructurePublisherupgradeprofilesResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PostInfrastructurePublisherupgradeprofilesResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PostInfrastructurePublisherupgradeprofilesResponse) GetPublisherUpgradeProfileResponse() *shared.PublisherUpgradeProfileResponse { - if o == nil { - return nil - } - return o.PublisherUpgradeProfileResponse -} - -func (o *PostInfrastructurePublisherupgradeprofilesResponse) GetFourHundred() *shared.FourHundred { - if o == nil { - return nil - } - return o.FourHundred -} diff --git a/internal/sdk/pkg/models/operations/postpolicynpapolicygroups.go b/internal/sdk/pkg/models/operations/postpolicynpapolicygroups.go deleted file mode 100644 index ecdd743..0000000 --- a/internal/sdk/pkg/models/operations/postpolicynpapolicygroups.go +++ /dev/null @@ -1,118 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "net/http" -) - -// PostPolicyNpaPolicygroupsQueryParamSilent - flag to skip output except status code -type PostPolicyNpaPolicygroupsQueryParamSilent string - -const ( - PostPolicyNpaPolicygroupsQueryParamSilentOne PostPolicyNpaPolicygroupsQueryParamSilent = "1" - PostPolicyNpaPolicygroupsQueryParamSilentZero PostPolicyNpaPolicygroupsQueryParamSilent = "0" -) - -func (e PostPolicyNpaPolicygroupsQueryParamSilent) ToPointer() *PostPolicyNpaPolicygroupsQueryParamSilent { - return &e -} - -func (e *PostPolicyNpaPolicygroupsQueryParamSilent) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "1": - fallthrough - case "0": - *e = PostPolicyNpaPolicygroupsQueryParamSilent(v) - return nil - default: - return fmt.Errorf("invalid value for PostPolicyNpaPolicygroupsQueryParamSilent: %v", v) - } -} - -type PostPolicyNpaPolicygroupsRequest struct { - // flag to skip output except status code - Silent *PostPolicyNpaPolicygroupsQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` - NpaPolicygroupRequest shared.NpaPolicygroupRequest `request:"mediaType=application/json"` -} - -func (o *PostPolicyNpaPolicygroupsRequest) GetSilent() *PostPolicyNpaPolicygroupsQueryParamSilent { - if o == nil { - return nil - } - return o.Silent -} - -func (o *PostPolicyNpaPolicygroupsRequest) GetNpaPolicygroupRequest() shared.NpaPolicygroupRequest { - if o == nil { - return shared.NpaPolicygroupRequest{} - } - return o.NpaPolicygroupRequest -} - -// PostPolicyNpaPolicygroupsResponseBody - successful operation -type PostPolicyNpaPolicygroupsResponseBody struct { - Data *shared.NpaPolicygroupResponseItem `json:"data,omitempty"` -} - -func (o *PostPolicyNpaPolicygroupsResponseBody) GetData() *shared.NpaPolicygroupResponseItem { - if o == nil { - return nil - } - return o.Data -} - -type PostPolicyNpaPolicygroupsResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - Object *PostPolicyNpaPolicygroupsResponseBody - // Invalid request - NpaPolicygroupResponse400 *shared.NpaPolicygroupResponse400 -} - -func (o *PostPolicyNpaPolicygroupsResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PostPolicyNpaPolicygroupsResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PostPolicyNpaPolicygroupsResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PostPolicyNpaPolicygroupsResponse) GetObject() *PostPolicyNpaPolicygroupsResponseBody { - if o == nil { - return nil - } - return o.Object -} - -func (o *PostPolicyNpaPolicygroupsResponse) GetNpaPolicygroupResponse400() *shared.NpaPolicygroupResponse400 { - if o == nil { - return nil - } - return o.NpaPolicygroupResponse400 -} diff --git a/internal/sdk/pkg/models/operations/poststeeringappsprivate.go b/internal/sdk/pkg/models/operations/poststeeringappsprivate.go deleted file mode 100644 index 3188974..0000000 --- a/internal/sdk/pkg/models/operations/poststeeringappsprivate.go +++ /dev/null @@ -1,106 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "net/http" -) - -// PostSteeringAppsPrivateQueryParamSilent - flag to skip output except status code -type PostSteeringAppsPrivateQueryParamSilent string - -const ( - PostSteeringAppsPrivateQueryParamSilentOne PostSteeringAppsPrivateQueryParamSilent = "1" - PostSteeringAppsPrivateQueryParamSilentZero PostSteeringAppsPrivateQueryParamSilent = "0" -) - -func (e PostSteeringAppsPrivateQueryParamSilent) ToPointer() *PostSteeringAppsPrivateQueryParamSilent { - return &e -} - -func (e *PostSteeringAppsPrivateQueryParamSilent) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "1": - fallthrough - case "0": - *e = PostSteeringAppsPrivateQueryParamSilent(v) - return nil - default: - return fmt.Errorf("invalid value for PostSteeringAppsPrivateQueryParamSilent: %v", v) - } -} - -type PostSteeringAppsPrivateRequest struct { - // flag to skip output except status code - Silent *PostSteeringAppsPrivateQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` - PrivateAppsRequest shared.PrivateAppsRequest `request:"mediaType=application/json"` -} - -func (o *PostSteeringAppsPrivateRequest) GetSilent() *PostSteeringAppsPrivateQueryParamSilent { - if o == nil { - return nil - } - return o.Silent -} - -func (o *PostSteeringAppsPrivateRequest) GetPrivateAppsRequest() shared.PrivateAppsRequest { - if o == nil { - return shared.PrivateAppsRequest{} - } - return o.PrivateAppsRequest -} - -type PostSteeringAppsPrivateResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - PrivateAppsResponse *shared.PrivateAppsResponse - // Invalid request - PrivateAppsResponse400 *shared.PrivateAppsResponse400 -} - -func (o *PostSteeringAppsPrivateResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PostSteeringAppsPrivateResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PostSteeringAppsPrivateResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PostSteeringAppsPrivateResponse) GetPrivateAppsResponse() *shared.PrivateAppsResponse { - if o == nil { - return nil - } - return o.PrivateAppsResponse -} - -func (o *PostSteeringAppsPrivateResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { - if o == nil { - return nil - } - return o.PrivateAppsResponse400 -} diff --git a/internal/sdk/pkg/models/operations/poststeeringappsprivatetagsgetpolicyinuse.go b/internal/sdk/pkg/models/operations/poststeeringappsprivatetagsgetpolicyinuse.go deleted file mode 100644 index 893dffa..0000000 --- a/internal/sdk/pkg/models/operations/poststeeringappsprivatetagsgetpolicyinuse.go +++ /dev/null @@ -1,90 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "net/http" -) - -type PostSteeringAppsPrivateTagsGetpolicyinuseRequestBody struct { - Ids []string `json:"ids,omitempty"` -} - -func (o *PostSteeringAppsPrivateTagsGetpolicyinuseRequestBody) GetIds() []string { - if o == nil { - return nil - } - return o.Ids -} - -type PostSteeringAppsPrivateTagsGetpolicyinuseData struct { - Token *string `json:"token,omitempty"` -} - -func (o *PostSteeringAppsPrivateTagsGetpolicyinuseData) GetToken() *string { - if o == nil { - return nil - } - return o.Token -} - -// PostSteeringAppsPrivateTagsGetpolicyinuseResponseBody - successful operation -type PostSteeringAppsPrivateTagsGetpolicyinuseResponseBody struct { - Data []PostSteeringAppsPrivateTagsGetpolicyinuseData `json:"data,omitempty"` -} - -func (o *PostSteeringAppsPrivateTagsGetpolicyinuseResponseBody) GetData() []PostSteeringAppsPrivateTagsGetpolicyinuseData { - if o == nil { - return nil - } - return o.Data -} - -type PostSteeringAppsPrivateTagsGetpolicyinuseResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - Object *PostSteeringAppsPrivateTagsGetpolicyinuseResponseBody - // Invalid request - TagResponse400 *shared.TagResponse400 -} - -func (o *PostSteeringAppsPrivateTagsGetpolicyinuseResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PostSteeringAppsPrivateTagsGetpolicyinuseResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PostSteeringAppsPrivateTagsGetpolicyinuseResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PostSteeringAppsPrivateTagsGetpolicyinuseResponse) GetObject() *PostSteeringAppsPrivateTagsGetpolicyinuseResponseBody { - if o == nil { - return nil - } - return o.Object -} - -func (o *PostSteeringAppsPrivateTagsGetpolicyinuseResponse) GetTagResponse400() *shared.TagResponse400 { - if o == nil { - return nil - } - return o.TagResponse400 -} diff --git a/internal/sdk/pkg/models/operations/postusers.go b/internal/sdk/pkg/models/operations/postusers.go new file mode 100644 index 0000000..0bd6383 --- /dev/null +++ b/internal/sdk/pkg/models/operations/postusers.go @@ -0,0 +1,484 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "net/http" +) + +type Schemas string + +const ( + SchemasUrnIetfParamsScimSchemasCore20User Schemas = "urn:ietf:params:scim:schemas:core:2.0:User" +) + +func (e Schemas) ToPointer() *Schemas { + return &e +} + +func (e *Schemas) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "urn:ietf:params:scim:schemas:core:2.0:User": + *e = Schemas(v) + return nil + default: + return fmt.Errorf("invalid value for Schemas: %v", v) + } +} + +// Name - Family_name and given_name for the User +type Name struct { + // last_name of the SCIM User. + FamilyName *string `json:"familyName,omitempty"` + // first_name of the SCIM User. + GivenName *string `json:"givenName,omitempty"` +} + +func (o *Name) GetFamilyName() *string { + if o == nil { + return nil + } + return o.FamilyName +} + +func (o *Name) GetGivenName() *string { + if o == nil { + return nil + } + return o.GivenName +} + +type Emails struct { + // Email ID of the SCIM user + Value *string `json:"value,omitempty"` + Primary *bool `json:"primary,omitempty"` +} + +func (o *Emails) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +func (o *Emails) GetPrimary() *bool { + if o == nil { + return nil + } + return o.Primary +} + +// Meta - meta information +type Meta struct { + // resource type User/Group. + ResourceType *string `json:"resourceType,omitempty"` +} + +func (o *Meta) GetResourceType() *string { + if o == nil { + return nil + } + return o.ResourceType +} + +// PostUsersRequestBody - user request body +type PostUsersRequestBody struct { + // schema of the resource + Schemas []Schemas `json:"schemas,omitempty"` + // UPN name of the SCIM User + UserName *string `json:"userName,omitempty"` + // Family_name and given_name for the User + Name *Name `json:"name,omitempty"` + Active *bool `json:"active,omitempty"` + Emails []Emails `json:"emails,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` + // meta information + Meta *Meta `json:"meta,omitempty"` +} + +func (o *PostUsersRequestBody) GetSchemas() []Schemas { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *PostUsersRequestBody) GetUserName() *string { + if o == nil { + return nil + } + return o.UserName +} + +func (o *PostUsersRequestBody) GetName() *Name { + if o == nil { + return nil + } + return o.Name +} + +func (o *PostUsersRequestBody) GetActive() *bool { + if o == nil { + return nil + } + return o.Active +} + +func (o *PostUsersRequestBody) GetEmails() []Emails { + if o == nil { + return nil + } + return o.Emails +} + +func (o *PostUsersRequestBody) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +func (o *PostUsersRequestBody) GetMeta() *Meta { + if o == nil { + return nil + } + return o.Meta +} + +type PostUsersScimUsersResponseStatus string + +const ( + PostUsersScimUsersResponseStatusFailed PostUsersScimUsersResponseStatus = "failed" + PostUsersScimUsersResponseStatusFiveHundredAndOne PostUsersScimUsersResponseStatus = "501" +) + +func (e PostUsersScimUsersResponseStatus) ToPointer() *PostUsersScimUsersResponseStatus { + return &e +} + +func (e *PostUsersScimUsersResponseStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "failed": + fallthrough + case "501": + *e = PostUsersScimUsersResponseStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PostUsersScimUsersResponseStatus: %v", v) + } +} + +// PostUsersScimUsersResponse501ResponseBody - Internal error Failed +type PostUsersScimUsersResponse501ResponseBody struct { + Status *PostUsersScimUsersResponseStatus `json:"status,omitempty"` + Schemas *string `json:"schemas,omitempty"` + Detail *string `json:"detail,omitempty"` +} + +func (o *PostUsersScimUsersResponse501ResponseBody) GetStatus() *PostUsersScimUsersResponseStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *PostUsersScimUsersResponse501ResponseBody) GetSchemas() *string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *PostUsersScimUsersResponse501ResponseBody) GetDetail() *string { + if o == nil { + return nil + } + return o.Detail +} + +// PostUsersScimUsersResponseResponseBody - Not authorized to execte the specific API. +type PostUsersScimUsersResponseResponseBody struct { + Message *string `json:"message,omitempty"` +} + +func (o *PostUsersScimUsersResponseResponseBody) GetMessage() *string { + if o == nil { + return nil + } + return o.Message +} + +type PostUsersScimUsersStatus string + +const ( + PostUsersScimUsersStatusFourHundred PostUsersScimUsersStatus = "400" + PostUsersScimUsersStatusFailed PostUsersScimUsersStatus = "failed" +) + +func (e PostUsersScimUsersStatus) ToPointer() *PostUsersScimUsersStatus { + return &e +} + +func (e *PostUsersScimUsersStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "400": + fallthrough + case "failed": + *e = PostUsersScimUsersStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PostUsersScimUsersStatus: %v", v) + } +} + +// PostUsersScimUsersResponseBody - Failed +type PostUsersScimUsersResponseBody struct { + Status *PostUsersScimUsersStatus `json:"status,omitempty"` + Description *string `json:"description,omitempty"` + // schema of the resource + Schemas []string `json:"schemas,omitempty"` +} + +func (o *PostUsersScimUsersResponseBody) GetStatus() *PostUsersScimUsersStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *PostUsersScimUsersResponseBody) GetDescription() *string { + if o == nil { + return nil + } + return o.Description +} + +func (o *PostUsersScimUsersResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +// PostUsersName - Family_name and given_name for the User +type PostUsersName struct { + // last_name of the SCIM User. + FamilyName *string `json:"familyName,omitempty"` + // first_name of the SCIM User. + GivenName *string `json:"givenName,omitempty"` +} + +func (o *PostUsersName) GetFamilyName() *string { + if o == nil { + return nil + } + return o.FamilyName +} + +func (o *PostUsersName) GetGivenName() *string { + if o == nil { + return nil + } + return o.GivenName +} + +type PostUsersEmails struct { + // Email ID of the SCIM user + Value *string `json:"value,omitempty"` + Primary *bool `json:"primary,omitempty"` +} + +func (o *PostUsersEmails) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +func (o *PostUsersEmails) GetPrimary() *bool { + if o == nil { + return nil + } + return o.Primary +} + +type PostUsersStatus int64 + +const ( + PostUsersStatusTwoHundredAndOne PostUsersStatus = 201 + PostUsersStatusTwoHundred PostUsersStatus = 200 +) + +func (e PostUsersStatus) ToPointer() *PostUsersStatus { + return &e +} + +func (e *PostUsersStatus) UnmarshalJSON(data []byte) error { + var v int64 + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case 201: + fallthrough + case 200: + *e = PostUsersStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PostUsersStatus: %v", v) + } +} + +// PostUsersResponseBody - Successfully added the User. +type PostUsersResponseBody struct { + // schema of the resource + Schemas []string `json:"schemas,omitempty"` + // SCIM User ID + ID *string `json:"id,omitempty"` + // UPN name of the SCIM User + UserName *string `json:"userName,omitempty"` + // Family_name and given_name for the User + Name *PostUsersName `json:"name,omitempty"` + Active *bool `json:"active,omitempty"` + Emails []PostUsersEmails `json:"emails,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` + Status *PostUsersStatus `json:"status,omitempty"` +} + +func (o *PostUsersResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *PostUsersResponseBody) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *PostUsersResponseBody) GetUserName() *string { + if o == nil { + return nil + } + return o.UserName +} + +func (o *PostUsersResponseBody) GetName() *PostUsersName { + if o == nil { + return nil + } + return o.Name +} + +func (o *PostUsersResponseBody) GetActive() *bool { + if o == nil { + return nil + } + return o.Active +} + +func (o *PostUsersResponseBody) GetEmails() []PostUsersEmails { + if o == nil { + return nil + } + return o.Emails +} + +func (o *PostUsersResponseBody) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +func (o *PostUsersResponseBody) GetStatus() *PostUsersStatus { + if o == nil { + return nil + } + return o.Status +} + +type PostUsersResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successfully added the User. + TwoHundredAndOneApplicationScimPlusJSONObject *PostUsersResponseBody + // Failed + FourHundredApplicationJSONObject *PostUsersScimUsersResponseBody + // Not authorized to execte the specific API. + FourHundredAndThreeApplicationJSONObject *PostUsersScimUsersResponseResponseBody + // Internal error Failed + FiveHundredAndOneApplicationJSONObject *PostUsersScimUsersResponse501ResponseBody +} + +func (o *PostUsersResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PostUsersResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PostUsersResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PostUsersResponse) GetTwoHundredAndOneApplicationScimPlusJSONObject() *PostUsersResponseBody { + if o == nil { + return nil + } + return o.TwoHundredAndOneApplicationScimPlusJSONObject +} + +func (o *PostUsersResponse) GetFourHundredApplicationJSONObject() *PostUsersScimUsersResponseBody { + if o == nil { + return nil + } + return o.FourHundredApplicationJSONObject +} + +func (o *PostUsersResponse) GetFourHundredAndThreeApplicationJSONObject() *PostUsersScimUsersResponseResponseBody { + if o == nil { + return nil + } + return o.FourHundredAndThreeApplicationJSONObject +} + +func (o *PostUsersResponse) GetFiveHundredAndOneApplicationJSONObject() *PostUsersScimUsersResponse501ResponseBody { + if o == nil { + return nil + } + return o.FiveHundredAndOneApplicationJSONObject +} diff --git a/internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesbulk.go b/internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesbulk.go deleted file mode 100644 index ec9acc3..0000000 --- a/internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesbulk.go +++ /dev/null @@ -1,110 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "net/http" -) - -// PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent - flag to skip output except status code: -// - `1` - Skip response data -// - `0` - Do not skip response data -type PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent string - -const ( - PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilentOne PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent = "1" - PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilentZero PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent = "0" -) - -func (e PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent) ToPointer() *PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent { - return &e -} - -func (e *PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "1": - fallthrough - case "0": - *e = PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent(v) - return nil - default: - return fmt.Errorf("invalid value for PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent: %v", v) - } -} - -type PutInfrastructurePublisherupgradeprofilesBulkRequest struct { - // flag to skip output except status code: - // * `1` - Skip response data - // * `0` - Do not skip response data - Silent *PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` - PublisherUpgradeProfileBulkRequest shared.PublisherUpgradeProfileBulkRequest `request:"mediaType=application/json"` -} - -func (o *PutInfrastructurePublisherupgradeprofilesBulkRequest) GetSilent() *PutInfrastructurePublisherupgradeprofilesBulkQueryParamSilent { - if o == nil { - return nil - } - return o.Silent -} - -func (o *PutInfrastructurePublisherupgradeprofilesBulkRequest) GetPublisherUpgradeProfileBulkRequest() shared.PublisherUpgradeProfileBulkRequest { - if o == nil { - return shared.PublisherUpgradeProfileBulkRequest{} - } - return o.PublisherUpgradeProfileBulkRequest -} - -type PutInfrastructurePublisherupgradeprofilesBulkResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - PublisherUpgradeProfileBulkResponse *shared.PublisherUpgradeProfileBulkResponse - // Invalid request - FourHundred *shared.FourHundred -} - -func (o *PutInfrastructurePublisherupgradeprofilesBulkResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PutInfrastructurePublisherupgradeprofilesBulkResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PutInfrastructurePublisherupgradeprofilesBulkResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PutInfrastructurePublisherupgradeprofilesBulkResponse) GetPublisherUpgradeProfileBulkResponse() *shared.PublisherUpgradeProfileBulkResponse { - if o == nil { - return nil - } - return o.PublisherUpgradeProfileBulkResponse -} - -func (o *PutInfrastructurePublisherupgradeprofilesBulkResponse) GetFourHundred() *shared.FourHundred { - if o == nil { - return nil - } - return o.FourHundred -} diff --git a/internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesupgradeprofileid.go b/internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesupgradeprofileid.go deleted file mode 100644 index 85bc5a8..0000000 --- a/internal/sdk/pkg/models/operations/putinfrastructurepublisherupgradeprofilesupgradeprofileid.go +++ /dev/null @@ -1,115 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "net/http" -) - -// PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent - flag to skip output except status code -type PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent string - -const ( - PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilentOne PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent = "1" - PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilentZero PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent = "0" -) - -func (e PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent) ToPointer() *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent { - return &e -} - -func (e *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "1": - fallthrough - case "0": - *e = PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent(v) - return nil - default: - return fmt.Errorf("invalid value for PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent: %v", v) - } -} - -type PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest struct { - // publisher upgrade profile id - UpgradeProfileID int `pathParam:"style=simple,explode=false,name=upgrade_profile_id"` - // flag to skip output except status code - Silent *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` - PublisherUpgradeProfilePutRequest shared.PublisherUpgradeProfilePutRequest `request:"mediaType=application/json"` -} - -func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) GetUpgradeProfileID() int { - if o == nil { - return 0 - } - return o.UpgradeProfileID -} - -func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) GetSilent() *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDQueryParamSilent { - if o == nil { - return nil - } - return o.Silent -} - -func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDRequest) GetPublisherUpgradeProfilePutRequest() shared.PublisherUpgradeProfilePutRequest { - if o == nil { - return shared.PublisherUpgradeProfilePutRequest{} - } - return o.PublisherUpgradeProfilePutRequest -} - -type PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - PublisherUpgradeProfileResponse *shared.PublisherUpgradeProfileResponse - // Invalid request - FourHundred *shared.FourHundred -} - -func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetPublisherUpgradeProfileResponse() *shared.PublisherUpgradeProfileResponse { - if o == nil { - return nil - } - return o.PublisherUpgradeProfileResponse -} - -func (o *PutInfrastructurePublisherupgradeprofilesUpgradeProfileIDResponse) GetFourHundred() *shared.FourHundred { - if o == nil { - return nil - } - return o.FourHundred -} diff --git a/internal/sdk/pkg/models/operations/putsteeringappsprivateprivateappid.go b/internal/sdk/pkg/models/operations/putsteeringappsprivateprivateappid.go deleted file mode 100644 index b536832..0000000 --- a/internal/sdk/pkg/models/operations/putsteeringappsprivateprivateappid.go +++ /dev/null @@ -1,115 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "net/http" -) - -// PutSteeringAppsPrivatePrivateAppIDQueryParamSilent - flag to skip output except status code -type PutSteeringAppsPrivatePrivateAppIDQueryParamSilent string - -const ( - PutSteeringAppsPrivatePrivateAppIDQueryParamSilentOne PutSteeringAppsPrivatePrivateAppIDQueryParamSilent = "1" - PutSteeringAppsPrivatePrivateAppIDQueryParamSilentZero PutSteeringAppsPrivatePrivateAppIDQueryParamSilent = "0" -) - -func (e PutSteeringAppsPrivatePrivateAppIDQueryParamSilent) ToPointer() *PutSteeringAppsPrivatePrivateAppIDQueryParamSilent { - return &e -} - -func (e *PutSteeringAppsPrivatePrivateAppIDQueryParamSilent) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "1": - fallthrough - case "0": - *e = PutSteeringAppsPrivatePrivateAppIDQueryParamSilent(v) - return nil - default: - return fmt.Errorf("invalid value for PutSteeringAppsPrivatePrivateAppIDQueryParamSilent: %v", v) - } -} - -type PutSteeringAppsPrivatePrivateAppIDRequest struct { - // private apps id - PrivateAppID int `pathParam:"style=simple,explode=false,name=private_app_id"` - // flag to skip output except status code - Silent *PutSteeringAppsPrivatePrivateAppIDQueryParamSilent `queryParam:"style=form,explode=true,name=silent"` - PrivateAppsPutRequest shared.PrivateAppsPutRequest `request:"mediaType=application/json"` -} - -func (o *PutSteeringAppsPrivatePrivateAppIDRequest) GetPrivateAppID() int { - if o == nil { - return 0 - } - return o.PrivateAppID -} - -func (o *PutSteeringAppsPrivatePrivateAppIDRequest) GetSilent() *PutSteeringAppsPrivatePrivateAppIDQueryParamSilent { - if o == nil { - return nil - } - return o.Silent -} - -func (o *PutSteeringAppsPrivatePrivateAppIDRequest) GetPrivateAppsPutRequest() shared.PrivateAppsPutRequest { - if o == nil { - return shared.PrivateAppsPutRequest{} - } - return o.PrivateAppsPutRequest -} - -type PutSteeringAppsPrivatePrivateAppIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // successful operation - PrivateAppsResponse *shared.PrivateAppsResponse - // Invalid request - PrivateAppsResponse400 *shared.PrivateAppsResponse400 -} - -func (o *PutSteeringAppsPrivatePrivateAppIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PutSteeringAppsPrivatePrivateAppIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PutSteeringAppsPrivatePrivateAppIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PutSteeringAppsPrivatePrivateAppIDResponse) GetPrivateAppsResponse() *shared.PrivateAppsResponse { - if o == nil { - return nil - } - return o.PrivateAppsResponse -} - -func (o *PutSteeringAppsPrivatePrivateAppIDResponse) GetPrivateAppsResponse400() *shared.PrivateAppsResponse400 { - if o == nil { - return nil - } - return o.PrivateAppsResponse400 -} diff --git a/internal/sdk/pkg/models/operations/putusersid.go b/internal/sdk/pkg/models/operations/putusersid.go new file mode 100644 index 0000000..4f32085 --- /dev/null +++ b/internal/sdk/pkg/models/operations/putusersid.go @@ -0,0 +1,502 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "fmt" + "net/http" +) + +type PutUsersIDSchemas string + +const ( + PutUsersIDSchemasUrnIetfParamsScimSchemasCore20User PutUsersIDSchemas = "urn:ietf:params:scim:schemas:core:2.0:User" +) + +func (e PutUsersIDSchemas) ToPointer() *PutUsersIDSchemas { + return &e +} + +func (e *PutUsersIDSchemas) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "urn:ietf:params:scim:schemas:core:2.0:User": + *e = PutUsersIDSchemas(v) + return nil + default: + return fmt.Errorf("invalid value for PutUsersIDSchemas: %v", v) + } +} + +// PutUsersIDName - Family_name and given_name for the User +type PutUsersIDName struct { + // last_name of the SCIM User. + FamilyName *string `json:"familyName,omitempty"` + // first_name of the SCIM User. + GivenName *string `json:"givenName,omitempty"` +} + +func (o *PutUsersIDName) GetFamilyName() *string { + if o == nil { + return nil + } + return o.FamilyName +} + +func (o *PutUsersIDName) GetGivenName() *string { + if o == nil { + return nil + } + return o.GivenName +} + +type PutUsersIDEmails struct { + // Email ID of the SCIM user + Value *string `json:"value,omitempty"` + Primary *bool `json:"primary,omitempty"` +} + +func (o *PutUsersIDEmails) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +func (o *PutUsersIDEmails) GetPrimary() *bool { + if o == nil { + return nil + } + return o.Primary +} + +// PutUsersIDMeta - meta information +type PutUsersIDMeta struct { + // resource type User/Group. + ResourceType *string `json:"resourceType,omitempty"` +} + +func (o *PutUsersIDMeta) GetResourceType() *string { + if o == nil { + return nil + } + return o.ResourceType +} + +// PutUsersIDRequestBody - User object +type PutUsersIDRequestBody struct { + // schema of the resource + Schemas []PutUsersIDSchemas `json:"schemas,omitempty"` + // UPN name of the SCIM User + UserName *string `json:"userName,omitempty"` + // Family_name and given_name for the User + Name *PutUsersIDName `json:"name,omitempty"` + Active *bool `json:"active,omitempty"` + Emails []PutUsersIDEmails `json:"emails,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` + // meta information + Meta *PutUsersIDMeta `json:"meta,omitempty"` +} + +func (o *PutUsersIDRequestBody) GetSchemas() []PutUsersIDSchemas { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *PutUsersIDRequestBody) GetUserName() *string { + if o == nil { + return nil + } + return o.UserName +} + +func (o *PutUsersIDRequestBody) GetName() *PutUsersIDName { + if o == nil { + return nil + } + return o.Name +} + +func (o *PutUsersIDRequestBody) GetActive() *bool { + if o == nil { + return nil + } + return o.Active +} + +func (o *PutUsersIDRequestBody) GetEmails() []PutUsersIDEmails { + if o == nil { + return nil + } + return o.Emails +} + +func (o *PutUsersIDRequestBody) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +func (o *PutUsersIDRequestBody) GetMeta() *PutUsersIDMeta { + if o == nil { + return nil + } + return o.Meta +} + +type PutUsersIDRequest struct { + // SCIM Used ID should be specified + ID string `pathParam:"style=simple,explode=false,name=id"` + // user to update + RequestBody *PutUsersIDRequestBody `request:"mediaType=application/scim+json"` +} + +func (o *PutUsersIDRequest) GetID() string { + if o == nil { + return "" + } + return o.ID +} + +func (o *PutUsersIDRequest) GetRequestBody() *PutUsersIDRequestBody { + if o == nil { + return nil + } + return o.RequestBody +} + +type PutUsersIDScimUsersResponseStatus string + +const ( + PutUsersIDScimUsersResponseStatusFailed PutUsersIDScimUsersResponseStatus = "failed" + PutUsersIDScimUsersResponseStatusFiveHundredAndOne PutUsersIDScimUsersResponseStatus = "501" +) + +func (e PutUsersIDScimUsersResponseStatus) ToPointer() *PutUsersIDScimUsersResponseStatus { + return &e +} + +func (e *PutUsersIDScimUsersResponseStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "failed": + fallthrough + case "501": + *e = PutUsersIDScimUsersResponseStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PutUsersIDScimUsersResponseStatus: %v", v) + } +} + +// PutUsersIDScimUsersResponse501ResponseBody - Internal error Failed +type PutUsersIDScimUsersResponse501ResponseBody struct { + Status *PutUsersIDScimUsersResponseStatus `json:"status,omitempty"` + Schemas *string `json:"schemas,omitempty"` + Detail *string `json:"detail,omitempty"` +} + +func (o *PutUsersIDScimUsersResponse501ResponseBody) GetStatus() *PutUsersIDScimUsersResponseStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *PutUsersIDScimUsersResponse501ResponseBody) GetSchemas() *string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *PutUsersIDScimUsersResponse501ResponseBody) GetDetail() *string { + if o == nil { + return nil + } + return o.Detail +} + +// PutUsersIDScimUsersResponseResponseBody - Not authorized to execte the specific API. +type PutUsersIDScimUsersResponseResponseBody struct { + Message *string `json:"message,omitempty"` +} + +func (o *PutUsersIDScimUsersResponseResponseBody) GetMessage() *string { + if o == nil { + return nil + } + return o.Message +} + +type PutUsersIDScimUsersStatus string + +const ( + PutUsersIDScimUsersStatusFourHundred PutUsersIDScimUsersStatus = "400" + PutUsersIDScimUsersStatusFailed PutUsersIDScimUsersStatus = "failed" +) + +func (e PutUsersIDScimUsersStatus) ToPointer() *PutUsersIDScimUsersStatus { + return &e +} + +func (e *PutUsersIDScimUsersStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "400": + fallthrough + case "failed": + *e = PutUsersIDScimUsersStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PutUsersIDScimUsersStatus: %v", v) + } +} + +// PutUsersIDScimUsersResponseBody - Failed +type PutUsersIDScimUsersResponseBody struct { + Status *PutUsersIDScimUsersStatus `json:"status,omitempty"` + Description *string `json:"description,omitempty"` + // schema of the resource + Schemas []string `json:"schemas,omitempty"` +} + +func (o *PutUsersIDScimUsersResponseBody) GetStatus() *PutUsersIDScimUsersStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *PutUsersIDScimUsersResponseBody) GetDescription() *string { + if o == nil { + return nil + } + return o.Description +} + +func (o *PutUsersIDScimUsersResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +// PutUsersIDScimUsersName - Family_name and given_name for the User +type PutUsersIDScimUsersName struct { + // last_name of the SCIM User. + FamilyName *string `json:"familyName,omitempty"` + // first_name of the SCIM User. + GivenName *string `json:"givenName,omitempty"` +} + +func (o *PutUsersIDScimUsersName) GetFamilyName() *string { + if o == nil { + return nil + } + return o.FamilyName +} + +func (o *PutUsersIDScimUsersName) GetGivenName() *string { + if o == nil { + return nil + } + return o.GivenName +} + +type PutUsersIDScimUsersEmails struct { + // Email ID of the SCIM user + Value *string `json:"value,omitempty"` + Primary *bool `json:"primary,omitempty"` +} + +func (o *PutUsersIDScimUsersEmails) GetValue() *string { + if o == nil { + return nil + } + return o.Value +} + +func (o *PutUsersIDScimUsersEmails) GetPrimary() *bool { + if o == nil { + return nil + } + return o.Primary +} + +type PutUsersIDStatus int64 + +const ( + PutUsersIDStatusTwoHundred PutUsersIDStatus = 200 +) + +func (e PutUsersIDStatus) ToPointer() *PutUsersIDStatus { + return &e +} + +func (e *PutUsersIDStatus) UnmarshalJSON(data []byte) error { + var v int64 + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case 200: + *e = PutUsersIDStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PutUsersIDStatus: %v", v) + } +} + +// PutUsersIDResponseBody - Successfully updated the User. +type PutUsersIDResponseBody struct { + // schema of the resource + Schemas []string `json:"schemas,omitempty"` + // SCIM User ID + ID *string `json:"id,omitempty"` + // UPN name of the SCIM User + UserName *string `json:"userName,omitempty"` + // Family_name and given_name for the User + Name *PutUsersIDScimUsersName `json:"name,omitempty"` + Active *bool `json:"active,omitempty"` + Emails []PutUsersIDScimUsersEmails `json:"emails,omitempty"` + // Optional - Scim External ID + ExternalID *string `json:"externalId,omitempty"` + Status *PutUsersIDStatus `json:"status,omitempty"` +} + +func (o *PutUsersIDResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *PutUsersIDResponseBody) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *PutUsersIDResponseBody) GetUserName() *string { + if o == nil { + return nil + } + return o.UserName +} + +func (o *PutUsersIDResponseBody) GetName() *PutUsersIDScimUsersName { + if o == nil { + return nil + } + return o.Name +} + +func (o *PutUsersIDResponseBody) GetActive() *bool { + if o == nil { + return nil + } + return o.Active +} + +func (o *PutUsersIDResponseBody) GetEmails() []PutUsersIDScimUsersEmails { + if o == nil { + return nil + } + return o.Emails +} + +func (o *PutUsersIDResponseBody) GetExternalID() *string { + if o == nil { + return nil + } + return o.ExternalID +} + +func (o *PutUsersIDResponseBody) GetStatus() *PutUsersIDStatus { + if o == nil { + return nil + } + return o.Status +} + +type PutUsersIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Successfully updated the User. + TwoHundredApplicationScimPlusJSONObject *PutUsersIDResponseBody + // Failed + FourHundredApplicationJSONObject *PutUsersIDScimUsersResponseBody + // Not authorized to execte the specific API. + FourHundredAndThreeApplicationJSONObject *PutUsersIDScimUsersResponseResponseBody + // Internal error Failed + FiveHundredAndOneApplicationJSONObject *PutUsersIDScimUsersResponse501ResponseBody +} + +func (o *PutUsersIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PutUsersIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PutUsersIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PutUsersIDResponse) GetTwoHundredApplicationScimPlusJSONObject() *PutUsersIDResponseBody { + if o == nil { + return nil + } + return o.TwoHundredApplicationScimPlusJSONObject +} + +func (o *PutUsersIDResponse) GetFourHundredApplicationJSONObject() *PutUsersIDScimUsersResponseBody { + if o == nil { + return nil + } + return o.FourHundredApplicationJSONObject +} + +func (o *PutUsersIDResponse) GetFourHundredAndThreeApplicationJSONObject() *PutUsersIDScimUsersResponseResponseBody { + if o == nil { + return nil + } + return o.FourHundredAndThreeApplicationJSONObject +} + +func (o *PutUsersIDResponse) GetFiveHundredAndOneApplicationJSONObject() *PutUsersIDScimUsersResponse501ResponseBody { + if o == nil { + return nil + } + return o.FiveHundredAndOneApplicationJSONObject +} diff --git a/internal/sdk/publishertoken.go b/internal/sdk/publishertoken.go index b9aa87a..181f4a4 100644 --- a/internal/sdk/publishertoken.go +++ b/internal/sdk/publishertoken.go @@ -6,10 +6,11 @@ import ( "bytes" "context" "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/sdkerrors" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/hooks" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/errors" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" "io" "net/http" ) @@ -26,28 +27,62 @@ func newPublisherToken(sdkConfig sdkConfiguration) *PublisherToken { // Create - Generate and retrieve a token for publisher registration // Generate and retrieve a token for publisher registration -func (s *PublisherToken) Create(ctx context.Context, request operations.PostInfrastructurePublishersPublisherIDRegistrationTokenRequest) (*operations.PostInfrastructurePublishersPublisherIDRegistrationTokenResponse, error) { +func (s *PublisherToken) Create(ctx context.Context, request operations.GenerateNPAPublisherTokenRequest) (*operations.GenerateNPAPublisherTokenResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "generateNPAPublisherToken", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publishers/{publisher_id}/registration_token", request, nil) + opURL, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publishers/{publisher_id}/registration_token", request, nil) if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } - req, err := http.NewRequestWithContext(ctx, "POST", url, nil) + req, err := http.NewRequestWithContext(ctx, "POST", opURL, nil) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) - client := s.sdkConfiguration.SecurityClient + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } - httpRes, err := client.Do(req) + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") + + res := &operations.GenerateNPAPublisherTokenResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, } rawBody, err := io.ReadAll(httpRes.Body) @@ -57,29 +92,22 @@ func (s *PublisherToken) Create(ctx context.Context, request operations.PostInfr httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PostInfrastructurePublishersPublisherIDRegistrationTokenResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } switch { case httpRes.StatusCode == 200: switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.PostInfrastructurePublishersPublisherIDRegistrationTokenResponseBody + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.GenerateNPAPublisherTokenResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } res.Object = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { - case utils.MatchContentType(contentType, `application/json`): + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): var out shared.PublishersResponse400 if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -87,8 +115,10 @@ func (s *PublisherToken) Create(ctx context.Context, request operations.PostInfr res.PublishersResponse400 = &out default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } return res, nil diff --git a/internal/sdk/scimgroups.go b/internal/sdk/scimgroups.go new file mode 100644 index 0000000..d471c1b --- /dev/null +++ b/internal/sdk/scimgroups.go @@ -0,0 +1,635 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package sdk + +import ( + "bytes" + "context" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/hooks" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/errors" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" + "io" + "net/http" + "net/url" +) + +// ScimGroups - CRUD for SCIM Groups Infrormation +type ScimGroups struct { + sdkConfiguration sdkConfiguration +} + +func newScimGroups(sdkConfig sdkConfiguration) *ScimGroups { + return &ScimGroups{ + sdkConfiguration: sdkConfig, + } +} + +// CreateSCIMGroups - Create new SCIM Group +// Create new SCIM Group +func (s *ScimGroups) CreateSCIMGroups(ctx context.Context, request *operations.CreateSCIMGroupsRequestBody) (*operations.CreateSCIMGroupsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "createSCIMGroups", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/Groups") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "Request", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "POST", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.CreateSCIMGroupsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 201: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.CreateSCIMGroupsResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TwoHundredAndOneApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.CreateSCIMGroupsSCIMGroupsResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundredApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.CreateSCIMGroupsSCIMGroupsResponseResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundredAndThreeApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 501: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.CreateSCIMGroupsSCIMGroupsResponse501ResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FiveHundredAndOneApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// GetSCIMGroups - Get SCIM Groups +// Query for all the SCIM groups or filtered groups. +func (s *ScimGroups) GetSCIMGroups(ctx context.Context, request operations.GetSCIMGroupsRequest) (*operations.GetSCIMGroupsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getSCIMGroups", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/Groups") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetSCIMGroupsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.GetSCIMGroupsResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TwoHundredApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.GetSCIMGroupsSCIMGroupsResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundredApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.GetSCIMGroupsSCIMGroupsResponseResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundredAndThreeApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 501: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.GetSCIMGroupsSCIMGroupsResponse501ResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FiveHundredAndOneApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// PutSCIMGroupsByID - Replace existing SCIM Group for {id} +// Replace existing SCIM Group for {id} +func (s *ScimGroups) PutSCIMGroupsByID(ctx context.Context, request operations.PutSCIMGroupsByIDRequest) (*operations.PutSCIMGroupsByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "putSCIMGroupsById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/Groups/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "RequestBody", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "PUT", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.PutSCIMGroupsByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.PutSCIMGroupsByIDResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TwoHundredApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.PutSCIMGroupsByIDSCIMGroupsResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundredApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.PutSCIMGroupsByIDSCIMGroupsResponseResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundredAndThreeApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 501: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.PutSCIMGroupsByIDSCIMGroupsResponse501ResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FiveHundredAndOneApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// GetSCIMGroupsByID - Get SCIM Group by {id} +// Get SCIM Group by {id} +func (s *ScimGroups) GetSCIMGroupsByID(ctx context.Context, request operations.GetSCIMGroupsByIDRequest) (*operations.GetSCIMGroupsByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getSCIMGroupsById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/Groups/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetSCIMGroupsByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.GetSCIMGroupsByIDResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TwoHundredApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.GetSCIMGroupsByIDSCIMGroupsResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundredAndThreeApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 501: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.GetSCIMGroupsByIDSCIMGroupsResponseResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FiveHundredAndOneApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// DeleteSCIMUsersByID - Delete SCIM Group record by {id} +// Delete SCIM Group record by {id} +func (s *ScimGroups) DeleteSCIMUsersByID(ctx context.Context, request operations.DeleteSCIMUsersByIDRequest) (*operations.DeleteSCIMUsersByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "deleteSCIMUsersById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/Groups/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "DELETE", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.DeleteSCIMUsersByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 204: + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.DeleteSCIMUsersByIDResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundredApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.DeleteSCIMUsersByIDSCIMGroupsResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundredAndThreeApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 501: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.DeleteSCIMUsersByIDSCIMGroupsResponseResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FiveHundredAndOneApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} diff --git a/internal/sdk/scimusers.go b/internal/sdk/scimusers.go new file mode 100644 index 0000000..6ae8f28 --- /dev/null +++ b/internal/sdk/scimusers.go @@ -0,0 +1,753 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package sdk + +import ( + "bytes" + "context" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/hooks" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/errors" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" + "io" + "net/http" + "net/url" +) + +// ScimUsers - CRUD for SCIM Users Infrormation. +type ScimUsers struct { + sdkConfiguration sdkConfiguration +} + +func newScimUsers(sdkConfig sdkConfiguration) *ScimUsers { + return &ScimUsers{ + sdkConfiguration: sdkConfig, + } +} + +// CreateSCIMUsers - Creation of a SCIM User +// Creation of a SCIM User. +func (s *ScimUsers) CreateSCIMUsers(ctx context.Context, request *operations.CreateSCIMUsersRequestBody) (*operations.CreateSCIMUsersResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "createSCIMUsers", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/Users") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "Request", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "POST", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.CreateSCIMUsersResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 201: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.CreateSCIMUsersResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TwoHundredAndOneApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.CreateSCIMUsersSCIMUsersResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundredApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.CreateSCIMUsersSCIMUsersResponseResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundredAndThreeApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 501: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.CreateSCIMUsersSCIMUsersResponse501ResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FiveHundredAndOneApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// GetSCIMUsers - Get Scim Users +// Query for all the SCIM Users or filtered users. +func (s *ScimUsers) GetSCIMUsers(ctx context.Context, request operations.GetSCIMUsersRequest) (*operations.GetSCIMUsersResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getSCIMUsers", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/Users") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetSCIMUsersResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.GetSCIMUsersResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TwoHundredApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.GetSCIMUsersSCIMUsersResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundredApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.GetSCIMUsersSCIMUsersResponseResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundredAndThreeApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 501: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.GetSCIMUsersSCIMUsersResponse501ResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FiveHundredAndOneApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// PutSCIMUsersByID - Replace existing SCIM record for {id} +// Replace existing SCIM record for {id} +func (s *ScimUsers) PutSCIMUsersByID(ctx context.Context, request operations.PutSCIMUsersByIDRequest) (*operations.PutSCIMUsersByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "putSCIMUsersById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/Users/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "RequestBody", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "PUT", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.PutSCIMUsersByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.PutSCIMUsersByIDResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TwoHundredApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.PutSCIMUsersByIDSCIMUsersResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundredApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.PutSCIMUsersByIDSCIMUsersResponseResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundredAndThreeApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 501: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.PutSCIMUsersByIDSCIMUsersResponse501ResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FiveHundredAndOneApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// GetSCIMUsersByID - Get the Scim User +// Getting the user with specific id.. +func (s *ScimUsers) GetSCIMUsersByID(ctx context.Context, request operations.GetSCIMUsersByIDRequest) (*operations.GetSCIMUsersByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getSCIMUsersById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/Users/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetSCIMUsersByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.GetSCIMUsersByIDResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TwoHundredApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.GetSCIMUsersByIDSCIMUsersResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundredAndThreeApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 501: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.GetSCIMUsersByIDSCIMUsersResponseResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FiveHundredAndOneApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// UpdateSCIMUsersByID - Update existing SCIM User record by {id} +// Update existing SCIM User record by {id} +func (s *ScimUsers) UpdateSCIMUsersByID(ctx context.Context, request operations.UpdateSCIMUsersByIDRequest) (*operations.UpdateSCIMUsersByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "updateSCIMUsersById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/Users/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "RequestBody", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "PATCH", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.UpdateSCIMUsersByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 204: + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.UpdateSCIMUsersByIDResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundredApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.UpdateSCIMUsersByIDSCIMUsersResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundredAndThreeApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 501: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.UpdateSCIMUsersByIDSCIMUsersResponseResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FiveHundredAndOneApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// DeleteSCIMUsers - Delete SCIM User record by {id} +// Delete SCIM User record by {id}. +func (s *ScimUsers) DeleteSCIMUsers(ctx context.Context, request operations.DeleteSCIMUsersRequest) (*operations.DeleteSCIMUsersResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "deleteSCIMUsers", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/Users/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "DELETE", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.DeleteSCIMUsersResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 204: + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.DeleteSCIMUsersResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundredApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.DeleteSCIMUsersSCIMUsersResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundredAndThreeApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 501: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.DeleteSCIMUsersSCIMUsersResponseResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FiveHundredAndOneApplicationJSONObject = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} diff --git a/internal/sdk/sdk.go b/internal/sdk/sdk.go deleted file mode 100644 index 48d39ee..0000000 --- a/internal/sdk/sdk.go +++ /dev/null @@ -1,4373 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package sdk - -import ( - "bytes" - "context" - "fmt" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/operations" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/sdkerrors" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/models/shared" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/utils" - "io" - "net/http" - "strings" - "time" -) - -// ServerList contains the list of servers available to the SDK -var ServerList = []string{ - // The production API server - "https://{tenant}.goskope.com/api/v2", -} - -// HTTPClient provides an interface for suplying the SDK with a custom HTTP client -type HTTPClient interface { - Do(req *http.Request) (*http.Response, error) -} - -// String provides a helper function to return a pointer to a string -func String(s string) *string { return &s } - -// Bool provides a helper function to return a pointer to a bool -func Bool(b bool) *bool { return &b } - -// Int provides a helper function to return a pointer to an int -func Int(i int) *int { return &i } - -// Int64 provides a helper function to return a pointer to an int64 -func Int64(i int64) *int64 { return &i } - -// Float32 provides a helper function to return a pointer to a float32 -func Float32(f float32) *float32 { return &f } - -// Float64 provides a helper function to return a pointer to a float64 -func Float64(f float64) *float64 { return &f } - -type sdkConfiguration struct { - DefaultClient HTTPClient - SecurityClient HTTPClient - Security func(context.Context) (interface{}, error) - ServerURL string - ServerIndex int - ServerDefaults []map[string]string - Language string - OpenAPIDocVersion string - SDKVersion string - GenVersion string - UserAgent string - RetryConfig *utils.RetryConfig -} - -func (c *sdkConfiguration) GetServerDetails() (string, map[string]string) { - if c.ServerURL != "" { - return c.ServerURL, nil - } - - return ServerList[c.ServerIndex], c.ServerDefaults[c.ServerIndex] -} - -// TerraformProviderNs - Netskope Terraform Provider: Combined specification to produce netskope terraform provider via speakeasy -type TerraformProviderNs struct { - NPAPublishers *NPAPublishers - PublisherToken *PublisherToken - NPAPublishersApps *NPAPublishersApps - NPAPublishersReleases *NPAPublishersReleases - NPAPublisherUpgradeProfiles *NPAPublisherUpgradeProfiles - - sdkConfiguration sdkConfiguration -} - -type SDKOption func(*TerraformProviderNs) - -// WithServerURL allows the overriding of the default server URL -func WithServerURL(serverURL string) SDKOption { - return func(sdk *TerraformProviderNs) { - sdk.sdkConfiguration.ServerURL = serverURL - } -} - -// WithTemplatedServerURL allows the overriding of the default server URL with a templated URL populated with the provided parameters -func WithTemplatedServerURL(serverURL string, params map[string]string) SDKOption { - return func(sdk *TerraformProviderNs) { - if params != nil { - serverURL = utils.ReplaceParameters(serverURL, params) - } - - sdk.sdkConfiguration.ServerURL = serverURL - } -} - -// WithServerIndex allows the overriding of the default server by index -func WithServerIndex(serverIndex int) SDKOption { - return func(sdk *TerraformProviderNs) { - if serverIndex < 0 || serverIndex >= len(ServerList) { - panic(fmt.Errorf("server index %d out of range", serverIndex)) - } - - sdk.sdkConfiguration.ServerIndex = serverIndex - } -} - -// WithTenant allows setting the tenant variable for url substitution -func WithTenant(tenant string) SDKOption { - return func(sdk *TerraformProviderNs) { - for idx := range sdk.sdkConfiguration.ServerDefaults { - if _, ok := sdk.sdkConfiguration.ServerDefaults[idx]["tenant"]; !ok { - continue - } - - sdk.sdkConfiguration.ServerDefaults[idx]["tenant"] = fmt.Sprintf("%v", tenant) - } - } -} - -// WithClient allows the overriding of the default HTTP client used by the SDK -func WithClient(client HTTPClient) SDKOption { - return func(sdk *TerraformProviderNs) { - sdk.sdkConfiguration.DefaultClient = client - } -} - -func withSecurity(security interface{}) func(context.Context) (interface{}, error) { - return func(context.Context) (interface{}, error) { - return &security, nil - } -} - -// WithSecurity configures the SDK to use the provided security details -func WithSecurity(security shared.Security) SDKOption { - return func(sdk *TerraformProviderNs) { - sdk.sdkConfiguration.Security = withSecurity(security) - } -} - -// WithSecuritySource configures the SDK to invoke the Security Source function on each method call to determine authentication -func WithSecuritySource(security func(context.Context) (shared.Security, error)) SDKOption { - return func(sdk *TerraformProviderNs) { - sdk.sdkConfiguration.Security = func(ctx context.Context) (interface{}, error) { - return security(ctx) - } - } -} - -func WithRetryConfig(retryConfig utils.RetryConfig) SDKOption { - return func(sdk *TerraformProviderNs) { - sdk.sdkConfiguration.RetryConfig = &retryConfig - } -} - -// New creates a new instance of the SDK with the provided options -func New(opts ...SDKOption) *TerraformProviderNs { - sdk := &TerraformProviderNs{ - sdkConfiguration: sdkConfiguration{ - Language: "go", - OpenAPIDocVersion: "1.0.0", - SDKVersion: "0.0.3", - GenVersion: "2.281.2", - UserAgent: "speakeasy-sdk/go 0.0.3 2.281.2 1.0.0 terraform", - ServerDefaults: []map[string]string{ - { - "tenant": "demo", - }, - }, - }, - } - for _, opt := range opts { - opt(sdk) - } - - // Use WithClient to override the default client if you would like to customize the timeout - if sdk.sdkConfiguration.DefaultClient == nil { - sdk.sdkConfiguration.DefaultClient = &http.Client{Timeout: 60 * time.Second} - } - if sdk.sdkConfiguration.SecurityClient == nil { - if sdk.sdkConfiguration.Security != nil { - sdk.sdkConfiguration.SecurityClient = utils.ConfigureSecurityClient(sdk.sdkConfiguration.DefaultClient, sdk.sdkConfiguration.Security) - } else { - sdk.sdkConfiguration.SecurityClient = sdk.sdkConfiguration.DefaultClient - } - } - - sdk.NPAPublishers = newNPAPublishers(sdk.sdkConfiguration) - - sdk.PublisherToken = newPublisherToken(sdk.sdkConfiguration) - - sdk.NPAPublishersApps = newNPAPublishersApps(sdk.sdkConfiguration) - - sdk.NPAPublishersReleases = newNPAPublishersReleases(sdk.sdkConfiguration) - - sdk.NPAPublisherUpgradeProfiles = newNPAPublisherUpgradeProfiles(sdk.sdkConfiguration) - - return sdk -} - -// PatchInfrastructurePublishersPublisherID - Patch a publisher -// patch a publisher based on publisher id -func (s *TerraformProviderNs) PatchInfrastructurePublishersPublisherID(ctx context.Context, request operations.PatchInfrastructurePublishersPublisherIDRequest) (*operations.PatchInfrastructurePublishersPublisherIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publishers/{publisher_id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PublisherPutRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PATCH", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PatchInfrastructurePublishersPublisherIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PublisherResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PublisherResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PublishersResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PublishersResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PutInfrastructurePublishersBulk - Trigger bulk publisher update action -// Trigger bulk publisher update action -func (s *TerraformProviderNs) PutInfrastructurePublishersBulk(ctx context.Context, request shared.PublisherBulkRequest) (*operations.PutInfrastructurePublishersBulkResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publishers/bulk" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PUT", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PutInfrastructurePublishersBulkResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PublishersBulkResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PublishersBulkResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PublishersResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PublishersResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetInfrastructurePublishersAlertsconfiguration - Get list of publisher alerts -// Get list of publisher alerts -func (s *TerraformProviderNs) GetInfrastructurePublishersAlertsconfiguration(ctx context.Context) (*operations.GetInfrastructurePublishersAlertsconfigurationResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publishers/alertsconfiguration" - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetInfrastructurePublishersAlertsconfigurationResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PublishersAlertGetResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PublishersAlertGetResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PublishersResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PublishersResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PutInfrastructurePublishersAlertsconfiguration - Configure publisher alerts -// Configure publisher alerts -func (s *TerraformProviderNs) PutInfrastructurePublishersAlertsconfiguration(ctx context.Context, request shared.PublishersAlertPutRequest) (*operations.PutInfrastructurePublishersAlertsconfigurationResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publishers/alertsconfiguration" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PUT", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PutInfrastructurePublishersAlertsconfigurationResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PublishersAlertGetResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PublishersAlertGetResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PublishersResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PublishersResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PutInfrastructurePublisherupgradeprofilesBulk - Update the profile of multiple publishers -func (s *TerraformProviderNs) PutInfrastructurePublisherupgradeprofilesBulk(ctx context.Context, request operations.PutInfrastructurePublisherupgradeprofilesBulkRequest) (*operations.PutInfrastructurePublisherupgradeprofilesBulkResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/infrastructure/publisherupgradeprofiles/bulk" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PublisherUpgradeProfileBulkRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PUT", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PutInfrastructurePublisherupgradeprofilesBulkResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PublisherUpgradeProfileBulkResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PublisherUpgradeProfileBulkResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.FourHundred - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.FourHundred = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetPolicyNpaRules - Get list of npa policies -// Get list of npa policies -func (s *TerraformProviderNs) GetPolicyNpaRules(ctx context.Context, request operations.GetPolicyNpaRulesRequest) (*operations.GetPolicyNpaRulesResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/policy/npa/rules" - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetPolicyNpaRulesResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicyListResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicyListResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicyResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicyResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PostPolicyNpaRules - Create a npa policy -// Create a policy -func (s *TerraformProviderNs) PostPolicyNpaRules(ctx context.Context, request shared.NpaPolicyRequest) (*operations.PostPolicyNpaRulesResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/policy/npa/rules" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PostPolicyNpaRulesResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.PostPolicyNpaRulesResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicyResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicyResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// DeletePolicyNpaRulesID - Delete a npa policy -// Delete a npa policy with rule id -func (s *TerraformProviderNs) DeletePolicyNpaRulesID(ctx context.Context, request operations.DeletePolicyNpaRulesIDRequest) (*operations.DeletePolicyNpaRulesIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/rules/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.DeletePolicyNpaRulesIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.DeletePolicyNpaRulesIDResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicyResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicyResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PatchPolicyNpaRulesID - Patch a npa policy -// Patch a npa policy based on rule id -func (s *TerraformProviderNs) PatchPolicyNpaRulesID(ctx context.Context, request operations.PatchPolicyNpaRulesIDRequest) (*operations.PatchPolicyNpaRulesIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/rules/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "NpaPolicyRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PATCH", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PatchPolicyNpaRulesIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.PatchPolicyNpaRulesIDResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicyResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicyResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetPolicyNpaRulesID - Get a npa policy -// Get a npa policy based on policy rule id -func (s *TerraformProviderNs) GetPolicyNpaRulesID(ctx context.Context, request operations.GetPolicyNpaRulesIDRequest) (*operations.GetPolicyNpaRulesIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/rules/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetPolicyNpaRulesIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.GetPolicyNpaRulesIDResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicyResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicyResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetPolicyNpaPolicygroups - Get list of npa policy groups -// Get list of npa policy groups -func (s *TerraformProviderNs) GetPolicyNpaPolicygroups(ctx context.Context, request operations.GetPolicyNpaPolicygroupsRequest) (*operations.GetPolicyNpaPolicygroupsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/policy/npa/policygroups" - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetPolicyNpaPolicygroupsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicygroupResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicygroupResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicygroupResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicygroupResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PostPolicyNpaPolicygroups - Create a npa policy group -// Create a npa policy group -func (s *TerraformProviderNs) PostPolicyNpaPolicygroups(ctx context.Context, request operations.PostPolicyNpaPolicygroupsRequest) (*operations.PostPolicyNpaPolicygroupsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/policy/npa/policygroups" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "NpaPolicygroupRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PostPolicyNpaPolicygroupsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.PostPolicyNpaPolicygroupsResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicygroupResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicygroupResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// DeletePolicyNpaPolicygroupsID - Delete a npa policy group -// Delete a npa policy group with group id -func (s *TerraformProviderNs) DeletePolicyNpaPolicygroupsID(ctx context.Context, request operations.DeletePolicyNpaPolicygroupsIDRequest) (*operations.DeletePolicyNpaPolicygroupsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/policygroups/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.DeletePolicyNpaPolicygroupsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.DeletePolicyNpaPolicygroupsIDResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicygroupResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicygroupResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PatchPolicyNpaPolicygroupsID - Patch a npa policy group -// Patch a npa policy group based on group id -func (s *TerraformProviderNs) PatchPolicyNpaPolicygroupsID(ctx context.Context, request operations.PatchPolicyNpaPolicygroupsIDRequest) (*operations.PatchPolicyNpaPolicygroupsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/policygroups/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "NpaPolicygroupRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PATCH", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PatchPolicyNpaPolicygroupsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.PatchPolicyNpaPolicygroupsIDResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicygroupResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicygroupResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetPolicyNpaPolicygroupsID - Get a npa policy group -// Get a npa policy group based on group id -func (s *TerraformProviderNs) GetPolicyNpaPolicygroupsID(ctx context.Context, request operations.GetPolicyNpaPolicygroupsIDRequest) (*operations.GetPolicyNpaPolicygroupsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/policygroups/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetPolicyNpaPolicygroupsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.GetPolicyNpaPolicygroupsIDResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.NpaPolicygroupResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.NpaPolicygroupResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringAppsPrivate - Get list of private applications -// Get list of private applications -func (s *TerraformProviderNs) GetSteeringAppsPrivate(ctx context.Context, request operations.GetSteeringAppsPrivateRequest) (*operations.GetSteeringAppsPrivateResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private" - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringAppsPrivateResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsGetResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsGetResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PostSteeringAppsPrivate - Create a private application -// Create a private application -func (s *TerraformProviderNs) PostSteeringAppsPrivate(ctx context.Context, request operations.PostSteeringAppsPrivateRequest) (*operations.PostSteeringAppsPrivateResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PrivateAppsRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PostSteeringAppsPrivateResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// DeleteSteeringAppsPrivatePrivateAppID - Delete a private application -// Delete a private application based on private app id -func (s *TerraformProviderNs) DeleteSteeringAppsPrivatePrivateAppID(ctx context.Context, request operations.DeleteSteeringAppsPrivatePrivateAppIDRequest) (*operations.DeleteSteeringAppsPrivatePrivateAppIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/{private_app_id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.DeleteSteeringAppsPrivatePrivateAppIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.DeleteSteeringAppsPrivatePrivateAppIDResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PutSteeringAppsPrivatePrivateAppID - Update a private application -// Update a private application based on private app id -func (s *TerraformProviderNs) PutSteeringAppsPrivatePrivateAppID(ctx context.Context, request operations.PutSteeringAppsPrivatePrivateAppIDRequest) (*operations.PutSteeringAppsPrivatePrivateAppIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/{private_app_id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PrivateAppsPutRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PUT", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PutSteeringAppsPrivatePrivateAppIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PatchSteeringAppsPrivatePrivateAppID - Patch a private application -// Patch a private application based on private app id -func (s *TerraformProviderNs) PatchSteeringAppsPrivatePrivateAppID(ctx context.Context, request operations.PatchSteeringAppsPrivatePrivateAppIDRequest) (*operations.PatchSteeringAppsPrivatePrivateAppIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/{private_app_id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PrivateAppsPutRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PATCH", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PatchSteeringAppsPrivatePrivateAppIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringAppsPrivatePrivateAppID - Get a private application -// Get a private application based on private app id -func (s *TerraformProviderNs) GetSteeringAppsPrivatePrivateAppID(ctx context.Context, request operations.GetSteeringAppsPrivatePrivateAppIDRequest) (*operations.GetSteeringAppsPrivatePrivateAppIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/{private_app_id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringAppsPrivatePrivateAppIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PostSteeringAppsPrivateGetpolicyinuse - Retrieve number of policy in use for specified private apps -// Retrieve number of policy in use for specified private apps -func (s *TerraformProviderNs) PostSteeringAppsPrivateGetpolicyinuse(ctx context.Context, request operations.PostSteeringAppsPrivateGetpolicyinuseRequestBody) (*operations.PostSteeringAppsPrivateGetpolicyinuseResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private/getpolicyinuse" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PostSteeringAppsPrivateGetpolicyinuseResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.PostSteeringAppsPrivateGetpolicyinuseResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.PrivateAppsResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.PrivateAppsResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PostSteeringAppsPrivateTags - create tags for private apps -// Create tags for private apps -func (s *TerraformProviderNs) PostSteeringAppsPrivateTags(ctx context.Context, request shared.TagRequest) (*operations.PostSteeringAppsPrivateTagsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private/tags" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PostSteeringAppsPrivateTagsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PatchSteeringAppsPrivateTags - bulk update tags to associate with specified private apps -// Bulk update tags to associate with specified private apps -func (s *TerraformProviderNs) PatchSteeringAppsPrivateTags(ctx context.Context, request shared.TagRequest) (*operations.PatchSteeringAppsPrivateTagsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private/tags" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PATCH", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PatchSteeringAppsPrivateTagsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// DeleteSteeringAppsPrivateTags - bulk delete tags for specified private apps -// Bulk delete tags for specified private apps -func (s *TerraformProviderNs) DeleteSteeringAppsPrivateTags(ctx context.Context, request shared.TagRequest) (*operations.DeleteSteeringAppsPrivateTagsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private/tags" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "DELETE", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.DeleteSteeringAppsPrivateTagsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringAppsPrivateTags - Get list of private app tags -// Get list of private app tags -func (s *TerraformProviderNs) GetSteeringAppsPrivateTags(ctx context.Context) (*operations.GetSteeringAppsPrivateTagsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private/tags" - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringAppsPrivateTagsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringAppsPrivateTagsTagID - Get a private app tag based on tag id -// Get a private app tag based on tag id -func (s *TerraformProviderNs) GetSteeringAppsPrivateTagsTagID(ctx context.Context, request operations.GetSteeringAppsPrivateTagsTagIDRequest) (*operations.GetSteeringAppsPrivateTagsTagIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/tags/{tag_id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringAppsPrivateTagsTagIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PutSteeringAppsPrivateTagsTagID - Update a private app tag based on tag id -// Update a private app tag based on tag id -func (s *TerraformProviderNs) PutSteeringAppsPrivateTagsTagID(ctx context.Context, request operations.PutSteeringAppsPrivateTagsTagIDRequest) (*operations.PutSteeringAppsPrivateTagsTagIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/tags/{tag_id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "TagRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PUT", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PutSteeringAppsPrivateTagsTagIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// DeleteSteeringAppsPrivateTagsTagID - Delete a private app tag based on tag id -// Delete a private app tag based on tag id -func (s *TerraformProviderNs) DeleteSteeringAppsPrivateTagsTagID(ctx context.Context, request operations.DeleteSteeringAppsPrivateTagsTagIDRequest) (*operations.DeleteSteeringAppsPrivateTagsTagIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/tags/{tag_id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "TagRequest", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "DELETE", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.DeleteSteeringAppsPrivateTagsTagIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.DeleteSteeringAppsPrivateTagsTagIDResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PostSteeringAppsPrivateTagsGetpolicyinuse - Retrieve number of policy in use for specified tags -// Retrieve number of policy in use for specified tags -func (s *TerraformProviderNs) PostSteeringAppsPrivateTagsGetpolicyinuse(ctx context.Context, request operations.PostSteeringAppsPrivateTagsGetpolicyinuseRequestBody) (*operations.PostSteeringAppsPrivateTagsGetpolicyinuseResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/apps/private/tags/getpolicyinuse" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PostSteeringAppsPrivateTagsGetpolicyinuseResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out operations.PostSteeringAppsPrivateTagsGetpolicyinuseResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.Object = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.TagResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.TagResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringGrePops - Get GRE points of presence(POPs) list -// API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. -func (s *TerraformProviderNs) GetSteeringGrePops(ctx context.Context, request operations.GetSteeringGrePopsRequest) (*operations.GetSteeringGrePopsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/gre/pops" - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringGrePopsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GrePopResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GrePopResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringGrePopsID - Get GRE point of presence(POP) -// API to get GRE POP using id. -func (s *TerraformProviderNs) GetSteeringGrePopsID(ctx context.Context, request operations.GetSteeringGrePopsIDRequest) (*operations.GetSteeringGrePopsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/gre/pops/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringGrePopsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GrePopResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GrePopResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 404: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse404 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse404 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringGreTunnels - Get GRE tunnels list -// API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters -func (s *TerraformProviderNs) GetSteeringGreTunnels(ctx context.Context, request operations.GetSteeringGreTunnelsRequest) (*operations.GetSteeringGreTunnelsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/gre/tunnels" - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringGreTunnelsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreTunnelResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreTunnelResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PostSteeringGreTunnels - Create GRE tunnel -// API to create new GRE tunnel. You can pass json body with tunnel details. -func (s *TerraformProviderNs) PostSteeringGreTunnels(ctx context.Context, request shared.GreTunnelRequestPost) (*operations.PostSteeringGreTunnelsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/gre/tunnels" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PostSteeringGreTunnelsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 201: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse201 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse201 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 409: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse409 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse409 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringGreTunnelsID - Get GRE tunnel -// API to get GRE tunnel using id. -func (s *TerraformProviderNs) GetSteeringGreTunnelsID(ctx context.Context, request operations.GetSteeringGreTunnelsIDRequest) (*operations.GetSteeringGreTunnelsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/gre/tunnels/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringGreTunnelsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreTunnelResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreTunnelResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 404: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse404 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse404 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PatchSteeringGreTunnelsID - Update GRE tunnel -// API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. -func (s *TerraformProviderNs) PatchSteeringGreTunnelsID(ctx context.Context, request operations.PatchSteeringGreTunnelsIDRequest) (*operations.PatchSteeringGreTunnelsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/gre/tunnels/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "GreTunnelRequestPatch", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PATCH", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PatchSteeringGreTunnelsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GrePatchResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GrePatchResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 404: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse404 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse404 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// DeleteSteeringGreTunnelsID - Delete GRE tunnel -// API to delete GRE tunnel using id -func (s *TerraformProviderNs) DeleteSteeringGreTunnelsID(ctx context.Context, request operations.DeleteSteeringGreTunnelsIDRequest) (*operations.DeleteSteeringGreTunnelsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/gre/tunnels/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.DeleteSteeringGreTunnelsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 404: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse404 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse404 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.GreResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.GreResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringIpsecPops - Get IPSec points of presence(POPs) list -// API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. -func (s *TerraformProviderNs) GetSteeringIpsecPops(ctx context.Context, request operations.GetSteeringIpsecPopsRequest) (*operations.GetSteeringIpsecPopsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/ipsec/pops" - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringIpsecPopsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecPopResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecPopResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringIpsecPopsID - Get IPSec point of presence(POP) -// API to get IPSec POP using id. -func (s *TerraformProviderNs) GetSteeringIpsecPopsID(ctx context.Context, request operations.GetSteeringIpsecPopsIDRequest) (*operations.GetSteeringIpsecPopsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/ipsec/pops/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringIpsecPopsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecPopResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecPopResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 404: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse404 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse404 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringIpsecTunnels - Get IPSec tunnels list -// API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters -func (s *TerraformProviderNs) GetSteeringIpsecTunnels(ctx context.Context, request operations.GetSteeringIpsecTunnelsRequest) (*operations.GetSteeringIpsecTunnelsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/ipsec/tunnels" - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringIpsecTunnelsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecTunnelResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecTunnelResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PostSteeringIpsecTunnels - Create IPSec tunnel -// API to create new IPSec tunnel. You can pass json body with tunnel details. -func (s *TerraformProviderNs) PostSteeringIpsecTunnels(ctx context.Context, request shared.IpsecTunnelRequestPost) (*operations.PostSteeringIpsecTunnelsResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/steering/ipsec/tunnels" - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "POST", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PostSteeringIpsecTunnelsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 201: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse201 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse201 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 409: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse409 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse409 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetSteeringIpsecTunnelsID - Get IPSec tunnel -// API to get IPSec tunnel using id. -func (s *TerraformProviderNs) GetSteeringIpsecTunnelsID(ctx context.Context, request operations.GetSteeringIpsecTunnelsIDRequest) (*operations.GetSteeringIpsecTunnelsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/ipsec/tunnels/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetSteeringIpsecTunnelsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecTunnelResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecTunnelResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 404: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse404 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse404 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// PatchSteeringIpsecTunnelsID - Update IPSec tunnel -// API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. -func (s *TerraformProviderNs) PatchSteeringIpsecTunnelsID(ctx context.Context, request operations.PatchSteeringIpsecTunnelsIDRequest) (*operations.PatchSteeringIpsecTunnelsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/ipsec/tunnels/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "IpsecTunnelRequestPatch", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, fmt.Errorf("error serializing request body: %w", err) - } - if bodyReader == nil { - return nil, fmt.Errorf("request body is required") - } - - debugBody := bytes.NewBuffer([]byte{}) - debugReader := io.TeeReader(bodyReader, debugBody) - - req, err := http.NewRequestWithContext(ctx, "PATCH", url, debugReader) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - req.Header.Set("Content-Type", reqContentType) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Request.Body = io.NopCloser(debugBody) - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.PatchSteeringIpsecTunnelsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecPatchResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecPatchResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse400 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse400 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 404: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse404 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse404 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// DeleteSteeringIpsecTunnelsID - Delete IPSec tunnel -// API to delete IPSec tunnel using id -func (s *TerraformProviderNs) DeleteSteeringIpsecTunnelsID(ctx context.Context, request operations.DeleteSteeringIpsecTunnelsIDRequest) (*operations.DeleteSteeringIpsecTunnelsIDResponse, error) { - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/steering/ipsec/tunnels/{id}", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.DeleteSteeringIpsecTunnelsIDResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - switch { - case httpRes.StatusCode == 200: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse200 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse200 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 403: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse403 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse403 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 404: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse404 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse404 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 405: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse405 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse405 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 429: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse429 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse429 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - case httpRes.StatusCode == 500: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out shared.IpsecResponse500 - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.IpsecResponse500 = &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} diff --git a/internal/sdk/terraformproviderns.go b/internal/sdk/terraformproviderns.go new file mode 100644 index 0000000..1eaba81 --- /dev/null +++ b/internal/sdk/terraformproviderns.go @@ -0,0 +1,5549 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package sdk + +import ( + "bytes" + "context" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/hooks" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/utils" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/errors" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/operations" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/models/shared" + "io" + "net/http" + "net/url" + "time" +) + +// ServerList contains the list of servers available to the SDK +var ServerList = []string{ + // The production API server + "https://{tenant}.goskope.com/api/v2", +} + +// HTTPClient provides an interface for suplying the SDK with a custom HTTP client +type HTTPClient interface { + Do(req *http.Request) (*http.Response, error) +} + +// String provides a helper function to return a pointer to a string +func String(s string) *string { return &s } + +// Bool provides a helper function to return a pointer to a bool +func Bool(b bool) *bool { return &b } + +// Int provides a helper function to return a pointer to an int +func Int(i int) *int { return &i } + +// Int64 provides a helper function to return a pointer to an int64 +func Int64(i int64) *int64 { return &i } + +// Float32 provides a helper function to return a pointer to a float32 +func Float32(f float32) *float32 { return &f } + +// Float64 provides a helper function to return a pointer to a float64 +func Float64(f float64) *float64 { return &f } + +type sdkConfiguration struct { + Client HTTPClient + Security func(context.Context) (interface{}, error) + ServerURL string + ServerIndex int + ServerDefaults []map[string]string + Language string + OpenAPIDocVersion string + SDKVersion string + GenVersion string + UserAgent string + RetryConfig *utils.RetryConfig + Hooks *hooks.Hooks +} + +func (c *sdkConfiguration) GetServerDetails() (string, map[string]string) { + if c.ServerURL != "" { + return c.ServerURL, nil + } + + return ServerList[c.ServerIndex], c.ServerDefaults[c.ServerIndex] +} + +// TerraformProviderNs - Netskope Terraform Provider: Combined specification to produce netskope terraform provider via speakeasy +type TerraformProviderNs struct { + NPAPublishers *NPAPublishers + PublisherToken *PublisherToken + NPAPublishersApps *NPAPublishersApps + NPAPublishersReleases *NPAPublishersReleases + NPAPublisherUpgradeProfiles *NPAPublisherUpgradeProfiles + // CRUD for SCIM Users Infrormation. + ScimUsers *ScimUsers + // CRUD for SCIM Groups Infrormation + ScimGroups *ScimGroups + + sdkConfiguration sdkConfiguration +} + +type SDKOption func(*TerraformProviderNs) + +// WithServerURL allows the overriding of the default server URL +func WithServerURL(serverURL string) SDKOption { + return func(sdk *TerraformProviderNs) { + sdk.sdkConfiguration.ServerURL = serverURL + } +} + +// WithTemplatedServerURL allows the overriding of the default server URL with a templated URL populated with the provided parameters +func WithTemplatedServerURL(serverURL string, params map[string]string) SDKOption { + return func(sdk *TerraformProviderNs) { + if params != nil { + serverURL = utils.ReplaceParameters(serverURL, params) + } + + sdk.sdkConfiguration.ServerURL = serverURL + } +} + +// WithServerIndex allows the overriding of the default server by index +func WithServerIndex(serverIndex int) SDKOption { + return func(sdk *TerraformProviderNs) { + if serverIndex < 0 || serverIndex >= len(ServerList) { + panic(fmt.Errorf("server index %d out of range", serverIndex)) + } + + sdk.sdkConfiguration.ServerIndex = serverIndex + } +} + +// WithTenant allows setting the tenant variable for url substitution +func WithTenant(tenant string) SDKOption { + return func(sdk *TerraformProviderNs) { + for idx := range sdk.sdkConfiguration.ServerDefaults { + if _, ok := sdk.sdkConfiguration.ServerDefaults[idx]["tenant"]; !ok { + continue + } + + sdk.sdkConfiguration.ServerDefaults[idx]["tenant"] = fmt.Sprintf("%v", tenant) + } + } +} + +// WithClient allows the overriding of the default HTTP client used by the SDK +func WithClient(client HTTPClient) SDKOption { + return func(sdk *TerraformProviderNs) { + sdk.sdkConfiguration.Client = client + } +} + +func withSecurity(security interface{}) func(context.Context) (interface{}, error) { + return func(context.Context) (interface{}, error) { + return security, nil + } +} + +// WithSecurity configures the SDK to use the provided security details +func WithSecurity(security shared.Security) SDKOption { + return func(sdk *TerraformProviderNs) { + sdk.sdkConfiguration.Security = withSecurity(security) + } +} + +// WithSecuritySource configures the SDK to invoke the Security Source function on each method call to determine authentication +func WithSecuritySource(security func(context.Context) (shared.Security, error)) SDKOption { + return func(sdk *TerraformProviderNs) { + sdk.sdkConfiguration.Security = func(ctx context.Context) (interface{}, error) { + return security(ctx) + } + } +} + +func WithRetryConfig(retryConfig utils.RetryConfig) SDKOption { + return func(sdk *TerraformProviderNs) { + sdk.sdkConfiguration.RetryConfig = &retryConfig + } +} + +// New creates a new instance of the SDK with the provided options +func New(opts ...SDKOption) *TerraformProviderNs { + sdk := &TerraformProviderNs{ + sdkConfiguration: sdkConfiguration{ + Language: "go", + OpenAPIDocVersion: "2.0.0", + SDKVersion: "0.0.1", + GenVersion: "2.286.7", + UserAgent: "speakeasy-sdk/go 0.0.1 2.286.7 2.0.0 github.com/speakeasy/terraform-provider-terraform/internal/sdk", + ServerDefaults: []map[string]string{ + { + "tenant": "demo", + }, + }, + Hooks: hooks.New(), + }, + } + for _, opt := range opts { + opt(sdk) + } + + // Use WithClient to override the default client if you would like to customize the timeout + if sdk.sdkConfiguration.Client == nil { + sdk.sdkConfiguration.Client = &http.Client{Timeout: 60 * time.Second} + } + + currentServerURL, _ := sdk.sdkConfiguration.GetServerDetails() + serverURL := currentServerURL + serverURL, sdk.sdkConfiguration.Client = sdk.sdkConfiguration.Hooks.SDKInit(currentServerURL, sdk.sdkConfiguration.Client) + if serverURL != currentServerURL { + sdk.sdkConfiguration.ServerURL = serverURL + } + + sdk.NPAPublishers = newNPAPublishers(sdk.sdkConfiguration) + + sdk.PublisherToken = newPublisherToken(sdk.sdkConfiguration) + + sdk.NPAPublishersApps = newNPAPublishersApps(sdk.sdkConfiguration) + + sdk.NPAPublishersReleases = newNPAPublishersReleases(sdk.sdkConfiguration) + + sdk.NPAPublisherUpgradeProfiles = newNPAPublisherUpgradeProfiles(sdk.sdkConfiguration) + + sdk.ScimUsers = newScimUsers(sdk.sdkConfiguration) + + sdk.ScimGroups = newScimGroups(sdk.sdkConfiguration) + + return sdk +} + +// UpdateNPAPublisherByID - Patch a publisher +// patch a publisher based on publisher id +func (s *TerraformProviderNs) UpdateNPAPublisherByID(ctx context.Context, request operations.UpdateNPAPublisherByIDRequest) (*operations.UpdateNPAPublisherByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "updateNPAPublisherById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/infrastructure/publishers/{publisher_id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PublisherPutRequest", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "PATCH", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.UpdateNPAPublisherByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.PublisherResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PublisherResponse = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.PublishersResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PublishersResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// TriggerNPAPublisherUpdate - Trigger bulk publisher update action +// Trigger bulk publisher update action +func (s *TerraformProviderNs) TriggerNPAPublisherUpdate(ctx context.Context, request shared.PublisherBulkRequest) (*operations.TriggerNPAPublisherUpdateResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "triggerNPAPublisherUpdate", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/infrastructure/publishers/bulk") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "PUT", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.TriggerNPAPublisherUpdateResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.PublishersBulkResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PublishersBulkResponse = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.PublishersResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PublishersResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// GetNPAPublisherAlerts - Get list of publisher alerts +// Get list of publisher alerts +func (s *TerraformProviderNs) GetNPAPublisherAlerts(ctx context.Context) (*operations.GetNPAPublisherAlertsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getNPAPublisherAlerts", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/infrastructure/publishers/alertsconfiguration") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetNPAPublisherAlertsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.PublishersAlertGetResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PublishersAlertGetResponse = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.PublishersResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PublishersResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// ConfigureNPAPublisherAlerts - Configure publisher alerts +// Configure publisher alerts +func (s *TerraformProviderNs) ConfigureNPAPublisherAlerts(ctx context.Context, request shared.PublishersAlertPutRequest) (*operations.ConfigureNPAPublisherAlertsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "configureNPAPublisherAlerts", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/infrastructure/publishers/alertsconfiguration") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "PUT", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.ConfigureNPAPublisherAlertsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.PublishersAlertGetResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PublishersAlertGetResponse = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.PublishersResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PublishersResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// UpdateNPAPublisherProfilesBulk - Update the profile of multiple publishers +func (s *TerraformProviderNs) UpdateNPAPublisherProfilesBulk(ctx context.Context, request operations.UpdateNPAPublisherProfilesBulkRequest) (*operations.UpdateNPAPublisherProfilesBulkResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "updateNPAPublisherProfilesBulk", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/infrastructure/publisherupgradeprofiles/bulk") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PublisherUpgradeProfileBulkRequest", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "PUT", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.UpdateNPAPublisherProfilesBulkResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.PublisherUpgradeProfileBulkResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PublisherUpgradeProfileBulkResponse = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.FourHundred + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.FourHundred = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// GetNPAPolicyRules - Get list of npa policies +// Get list of npa policies +func (s *TerraformProviderNs) GetNPAPolicyRules(ctx context.Context, request operations.GetNPAPolicyRulesRequest) (*operations.GetNPAPolicyRulesResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getNPAPolicyRules", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/policy/npa/rules") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetNPAPolicyRulesResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.NpaPolicyListResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.NpaPolicyListResponse = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.NpaPolicyResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.NpaPolicyResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// CreateNPAPolicyRules - Create a npa policy +// Create a policy +func (s *TerraformProviderNs) CreateNPAPolicyRules(ctx context.Context, request shared.NpaPolicyRequest) (*operations.CreateNPAPolicyRulesResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "createNPAPolicyRules", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/policy/npa/rules") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "POST", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.CreateNPAPolicyRulesResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.CreateNPAPolicyRulesResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.NpaPolicyResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.NpaPolicyResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// DeleteNPAPolicyRules - Delete a npa policy +// Delete a npa policy with rule id +func (s *TerraformProviderNs) DeleteNPAPolicyRules(ctx context.Context, request operations.DeleteNPAPolicyRulesRequest) (*operations.DeleteNPAPolicyRulesResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "deleteNPAPolicyRules", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/rules/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "DELETE", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.DeleteNPAPolicyRulesResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.DeleteNPAPolicyRulesResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.NpaPolicyResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.NpaPolicyResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// PatchNPAPolicyRulesByID - Patch a npa policy +// Patch a npa policy based on rule id +func (s *TerraformProviderNs) PatchNPAPolicyRulesByID(ctx context.Context, request operations.PatchNPAPolicyRulesByIDRequest) (*operations.PatchNPAPolicyRulesByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "patchNPAPolicyRulesById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/rules/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "NpaPolicyRequest", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "PATCH", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.PatchNPAPolicyRulesByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.PatchNPAPolicyRulesByIDResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.NpaPolicyResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.NpaPolicyResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// GetNPAPolicyRulesByID - Get a npa policy +// Get a npa policy based on policy rule id +func (s *TerraformProviderNs) GetNPAPolicyRulesByID(ctx context.Context, request operations.GetNPAPolicyRulesByIDRequest) (*operations.GetNPAPolicyRulesByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getNPAPolicyRulesById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/rules/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetNPAPolicyRulesByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.GetNPAPolicyRulesByIDResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.NpaPolicyResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.NpaPolicyResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// GetNPAPolicyGroups - Get list of npa policy groups +// Get list of npa policy groups +func (s *TerraformProviderNs) GetNPAPolicyGroups(ctx context.Context, request operations.GetNPAPolicyGroupsRequest) (*operations.GetNPAPolicyGroupsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getNPAPolicyGroups", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/policy/npa/policygroups") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetNPAPolicyGroupsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.NpaPolicygroupResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.NpaPolicygroupResponse = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.NpaPolicygroupResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.NpaPolicygroupResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// CreateNPAPolicyGroups - Create a npa policy group +// Create a npa policy group +func (s *TerraformProviderNs) CreateNPAPolicyGroups(ctx context.Context, request operations.CreateNPAPolicyGroupsRequest) (*operations.CreateNPAPolicyGroupsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "createNPAPolicyGroups", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/policy/npa/policygroups") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "NpaPolicygroupRequest", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "POST", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.CreateNPAPolicyGroupsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.CreateNPAPolicyGroupsResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.NpaPolicygroupResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.NpaPolicygroupResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// DeleteNPAPolicyGroups - Delete a npa policy group +// Delete a npa policy group with group id +func (s *TerraformProviderNs) DeleteNPAPolicyGroups(ctx context.Context, request operations.DeleteNPAPolicyGroupsRequest) (*operations.DeleteNPAPolicyGroupsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "deleteNPAPolicyGroups", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/policygroups/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "DELETE", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.DeleteNPAPolicyGroupsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.DeleteNPAPolicyGroupsResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.NpaPolicygroupResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.NpaPolicygroupResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// PatchNPAPolicyGroupsByID - Patch a npa policy group +// Patch a npa policy group based on group id +func (s *TerraformProviderNs) PatchNPAPolicyGroupsByID(ctx context.Context, request operations.PatchNPAPolicyGroupsByIDRequest) (*operations.PatchNPAPolicyGroupsByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "patchNPAPolicyGroupsById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/policygroups/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "NpaPolicygroupRequest", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "PATCH", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.PatchNPAPolicyGroupsByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.PatchNPAPolicyGroupsByIDResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.NpaPolicygroupResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.NpaPolicygroupResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// GetNPAPolicyGroupsByID - Get a npa policy group +// Get a npa policy group based on group id +func (s *TerraformProviderNs) GetNPAPolicyGroupsByID(ctx context.Context, request operations.GetNPAPolicyGroupsByIDRequest) (*operations.GetNPAPolicyGroupsByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getNPAPolicyGroupsById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/policy/npa/policygroups/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetNPAPolicyGroupsByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.GetNPAPolicyGroupsByIDResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.NpaPolicygroupResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.NpaPolicygroupResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// GetNPAApps - Get list of private applications +// Get list of private applications +func (s *TerraformProviderNs) GetNPAApps(ctx context.Context, request operations.GetNPAAppsRequest) (*operations.GetNPAAppsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getNPAApps", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/steering/apps/private") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetNPAAppsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.PrivateAppsGetResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsGetResponse = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.PrivateAppsResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// CreateNPAApps - Create a private application +// Create a private application +func (s *TerraformProviderNs) CreateNPAApps(ctx context.Context, request operations.CreateNPAAppsRequest) (*operations.CreateNPAAppsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "createNPAApps", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/steering/apps/private") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PrivateAppsRequest", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "POST", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.CreateNPAAppsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.PrivateAppsResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.PrivateAppsResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// DeleteNPAApps - Delete a private application +// Delete a private application based on private app id +func (s *TerraformProviderNs) DeleteNPAApps(ctx context.Context, request operations.DeleteNPAAppsRequest) (*operations.DeleteNPAAppsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "deleteNPAApps", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/{private_app_id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "DELETE", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.DeleteNPAAppsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.DeleteNPAAppsResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.PrivateAppsResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// ReplaceNPAAppsByID - Update a private application +// Update a private application based on private app id +func (s *TerraformProviderNs) ReplaceNPAAppsByID(ctx context.Context, request operations.ReplaceNPAAppsByIDRequest) (*operations.ReplaceNPAAppsByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "replaceNPAAppsById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/{private_app_id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PrivateAppsPutRequest", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "PUT", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.ReplaceNPAAppsByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.PrivateAppsResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.PrivateAppsResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// PatchNPAAppsByID - Patch a private application +// Patch a private application based on private app id +func (s *TerraformProviderNs) PatchNPAAppsByID(ctx context.Context, request operations.PatchNPAAppsByIDRequest) (*operations.PatchNPAAppsByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "patchNPAAppsById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/{private_app_id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PrivateAppsPutRequest", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "PATCH", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.PatchNPAAppsByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.PrivateAppsResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.PrivateAppsResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// GetNPAAppsByID - Get a private application +// Get a private application based on private app id +func (s *TerraformProviderNs) GetNPAAppsByID(ctx context.Context, request operations.GetNPAAppsByIDRequest) (*operations.GetNPAAppsByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getNPAAppsById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/{private_app_id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetNPAAppsByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.PrivateAppsResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.PrivateAppsResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// QueryNPAPolicyInUse - Retrieve number of policy in use for specified private apps +// Retrieve number of policy in use for specified private apps +func (s *TerraformProviderNs) QueryNPAPolicyInUse(ctx context.Context, request operations.QueryNPAPolicyInUseRequestBody) (*operations.QueryNPAPolicyInUseResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "queryNPAPolicyInUse", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/steering/apps/private/getpolicyinuse") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "POST", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.QueryNPAPolicyInUseResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.QueryNPAPolicyInUseResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.PrivateAppsResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.PrivateAppsResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// CreateNPATags - create tags for private apps +// Create tags for private apps +func (s *TerraformProviderNs) CreateNPATags(ctx context.Context, request shared.TagRequest) (*operations.CreateNPATagsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "createNPATags", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/steering/apps/private/tags") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "POST", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.CreateNPATagsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.TagResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.TagResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// PatchNPATags - bulk update tags to associate with specified private apps +// Bulk update tags to associate with specified private apps +func (s *TerraformProviderNs) PatchNPATags(ctx context.Context, request shared.TagRequest) (*operations.PatchNPATagsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "patchNPATags", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/steering/apps/private/tags") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "PATCH", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.PatchNPATagsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.TagResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.TagResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// DeleteNPATags - bulk delete tags for specified private apps +// Bulk delete tags for specified private apps +func (s *TerraformProviderNs) DeleteNPATags(ctx context.Context, request shared.TagRequest) (*operations.DeleteNPATagsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "deleteNPATags", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/steering/apps/private/tags") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "DELETE", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.DeleteNPATagsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.TagResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.TagResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// GetNPATags - Get list of private app tags +// Get list of private app tags +func (s *TerraformProviderNs) GetNPATags(ctx context.Context) (*operations.GetNPATagsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getNPATags", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/steering/apps/private/tags") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetNPATagsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.TagResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.TagResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// GetNPATagsByID - Get a private app tag based on tag id +// Get a private app tag based on tag id +func (s *TerraformProviderNs) GetNPATagsByID(ctx context.Context, request operations.GetNPATagsByIDRequest) (*operations.GetNPATagsByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getNPATagsById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/tags/{tag_id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetNPATagsByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.TagResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.TagResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// ReplaceNPATagsByID - Update a private app tag based on tag id +// Update a private app tag based on tag id +func (s *TerraformProviderNs) ReplaceNPATagsByID(ctx context.Context, request operations.ReplaceNPATagsByIDRequest) (*operations.ReplaceNPATagsByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "replaceNPATagsById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/tags/{tag_id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "TagRequest", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "PUT", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.ReplaceNPATagsByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.TagResponse + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.TagResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// DeleteNPATagsByID - Delete a private app tag based on tag id +// Delete a private app tag based on tag id +func (s *TerraformProviderNs) DeleteNPATagsByID(ctx context.Context, request operations.DeleteNPATagsByIDRequest) (*operations.DeleteNPATagsByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "deleteNPATagsById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/steering/apps/private/tags/{tag_id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "TagRequest", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "DELETE", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.DeleteNPATagsByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.DeleteNPATagsByIDResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.TagResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// RetrieveNPAPoliciesInUse - Retrieve number of policy in use for specified tags +// Retrieve number of policy in use for specified tags +func (s *TerraformProviderNs) RetrieveNPAPoliciesInUse(ctx context.Context, request operations.RetrieveNPAPoliciesInUseRequestBody) (*operations.RetrieveNPAPoliciesInUseResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "retrieveNPAPoliciesInUse", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/steering/apps/private/tags/getpolicyinuse") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "POST", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.RetrieveNPAPoliciesInUseResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out operations.RetrieveNPAPoliciesInUseResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.TagResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.TagResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// GetGrePops - Get GRE points of presence(POPs) list +// API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. +func (s *TerraformProviderNs) GetGrePops(ctx context.Context, request operations.GetGrePopsRequest) (*operations.GetGrePopsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getGrePops", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/steering/gre/pops") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetGrePopsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GrePopResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GrePopResponse200 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse403 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse405 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse429 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse500 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// GetGrePopsByID - Get GRE point of presence(POP) +// API to get GRE POP using id. +func (s *TerraformProviderNs) GetGrePopsByID(ctx context.Context, request operations.GetGrePopsByIDRequest) (*operations.GetGrePopsByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getGrePopsById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/steering/gre/pops/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetGrePopsByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GrePopResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GrePopResponse200 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse403 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 404: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse404 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse404 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse405 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse429 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse500 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// GetGreTunnels - Get GRE tunnels list +// API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters +func (s *TerraformProviderNs) GetGreTunnels(ctx context.Context, request operations.GetGreTunnelsRequest) (*operations.GetGreTunnelsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getGreTunnels", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/steering/gre/tunnels") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetGreTunnelsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreTunnelResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreTunnelResponse200 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse403 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse405 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse429 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse500 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// CreateGreTunnels - Create GRE tunnel +// API to create new GRE tunnel. You can pass json body with tunnel details. +func (s *TerraformProviderNs) CreateGreTunnels(ctx context.Context, request shared.GreTunnelRequestPost) (*operations.CreateGreTunnelsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "createGreTunnels", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/steering/gre/tunnels") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "POST", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.CreateGreTunnelsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 201: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse201 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse201 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse403 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse405 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 409: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse409 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse409 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse429 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse500 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// GetGreTunnelsByID - Get GRE tunnel +// API to get GRE tunnel using id. +func (s *TerraformProviderNs) GetGreTunnelsByID(ctx context.Context, request operations.GetGreTunnelsByIDRequest) (*operations.GetGreTunnelsByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getGreTunnelsById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/steering/gre/tunnels/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetGreTunnelsByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreTunnelResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreTunnelResponse200 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse403 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 404: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse404 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse404 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse405 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse429 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse500 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// PatchGreTunnelsByID - Update GRE tunnel +// API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. +func (s *TerraformProviderNs) PatchGreTunnelsByID(ctx context.Context, request operations.PatchGreTunnelsByIDRequest) (*operations.PatchGreTunnelsByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "patchGreTunnelsById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/steering/gre/tunnels/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "GreTunnelRequestPatch", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "PATCH", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.PatchGreTunnelsByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GrePatchResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GrePatchResponse200 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse403 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 404: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse404 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse404 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse405 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse429 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse500 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// DeleteGreTunnels - Delete GRE tunnel +// API to delete GRE tunnel using id +func (s *TerraformProviderNs) DeleteGreTunnels(ctx context.Context, request operations.DeleteGreTunnelsRequest) (*operations.DeleteGreTunnelsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "deleteGreTunnels", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/steering/gre/tunnels/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "DELETE", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.DeleteGreTunnelsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse200 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse403 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 404: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse404 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse404 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse405 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse429 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.GreResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.GreResponse500 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// GetIpsecPops - Get IPSec points of presence(POPs) list +// API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. +func (s *TerraformProviderNs) GetIpsecPops(ctx context.Context, request operations.GetIpsecPopsRequest) (*operations.GetIpsecPopsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getIpsecPops", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/steering/ipsec/pops") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetIpsecPopsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecPopResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecPopResponse200 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse403 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse405 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse429 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse500 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// GetIpsecPopsByID - Get IPSec point of presence(POP) +// API to get IPSec POP using id. +func (s *TerraformProviderNs) GetIpsecPopsByID(ctx context.Context, request operations.GetIpsecPopsByIDRequest) (*operations.GetIpsecPopsByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getIpsecPopsById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/steering/ipsec/pops/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetIpsecPopsByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecPopResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecPopResponse200 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse403 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 404: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse404 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse404 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse405 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse429 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse500 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// GetIpsecTunnels - Get IPSec tunnels list +// API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters +func (s *TerraformProviderNs) GetIpsecTunnels(ctx context.Context, request operations.GetIpsecTunnelsRequest) (*operations.GetIpsecTunnelsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getIpsecTunnels", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/steering/ipsec/tunnels") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetIpsecTunnelsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecTunnelResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecTunnelResponse200 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse403 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse405 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse429 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse500 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// CreateIpsecTunnels - Create IPSec tunnel +// API to create new IPSec tunnel. You can pass json body with tunnel details. +func (s *TerraformProviderNs) CreateIpsecTunnels(ctx context.Context, request shared.IpsecTunnelRequestPost) (*operations.CreateIpsecTunnelsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "createIpsecTunnels", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := url.JoinPath(baseURL, "/steering/ipsec/tunnels") + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "POST", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.CreateIpsecTunnelsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 201: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse201 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse201 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse403 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse405 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 409: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse409 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse409 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse429 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse500 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// GetIpsecTunnelsByID - Get IPSec tunnel +// API to get IPSec tunnel using id. +func (s *TerraformProviderNs) GetIpsecTunnelsByID(ctx context.Context, request operations.GetIpsecTunnelsByIDRequest) (*operations.GetIpsecTunnelsByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "getIpsecTunnelsById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/steering/ipsec/tunnels/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.GetIpsecTunnelsByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecTunnelResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecTunnelResponse200 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse403 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 404: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse404 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse404 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse405 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse429 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse500 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// PatchIpsecTunnelsByID - Update IPSec tunnel +// API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. +func (s *TerraformProviderNs) PatchIpsecTunnelsByID(ctx context.Context, request operations.PatchIpsecTunnelsByIDRequest) (*operations.PatchIpsecTunnelsByIDResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "patchIpsecTunnelsById", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/steering/ipsec/tunnels/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "IpsecTunnelRequestPatch", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "PATCH", opURL, bodyReader) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.PatchIpsecTunnelsByIDResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecPatchResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecPatchResponse200 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 400: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse400 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse400 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse403 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 404: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse404 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse404 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse405 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse429 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse500 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} + +// DeleteIpsecTunnels - Delete IPSec tunnel +// API to delete IPSec tunnel using id +func (s *TerraformProviderNs) DeleteIpsecTunnels(ctx context.Context, request operations.DeleteIpsecTunnelsRequest) (*operations.DeleteIpsecTunnelsResponse, error) { + hookCtx := hooks.HookContext{ + Context: ctx, + OperationID: "deleteIpsecTunnels", + OAuth2Scopes: []string{}, + SecuritySource: s.sdkConfiguration.Security, + } + + baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) + opURL, err := utils.GenerateURL(ctx, baseURL, "/steering/ipsec/tunnels/{id}", request, nil) + if err != nil { + return nil, fmt.Errorf("error generating URL: %w", err) + } + + req, err := http.NewRequestWithContext(ctx, "DELETE", opURL, nil) + if err != nil { + return nil, fmt.Errorf("error creating request: %w", err) + } + req.Header.Set("Accept", "application/json") + req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + + if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { + return nil, err + } + + req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req) + if err != nil { + return nil, err + } + + httpRes, err := s.sdkConfiguration.Client.Do(req) + if err != nil || httpRes == nil { + if err != nil { + err = fmt.Errorf("error sending request: %w", err) + } else { + err = fmt.Errorf("error sending request: no response") + } + + _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) + return nil, err + } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { + httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + if err != nil { + return nil, err + } + } else { + httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) + if err != nil { + return nil, err + } + } + + res := &operations.DeleteIpsecTunnelsResponse{ + StatusCode: httpRes.StatusCode, + ContentType: httpRes.Header.Get("Content-Type"), + RawResponse: httpRes, + } + + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + + switch { + case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse200 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse200 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 403: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse403 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse403 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 404: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse404 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse404 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 405: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse405 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse405 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 429: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse429 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse429 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + case httpRes.StatusCode == 500: + switch { + case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + var out shared.IpsecResponse500 + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.IpsecResponse500 = &out + default: + return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) + } + default: + return nil, errors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) + } + + return res, nil +} diff --git a/internal/sdk/pkg/types/bigint.go b/internal/sdk/types/bigint.go similarity index 100% rename from internal/sdk/pkg/types/bigint.go rename to internal/sdk/types/bigint.go diff --git a/internal/sdk/pkg/types/date.go b/internal/sdk/types/date.go similarity index 100% rename from internal/sdk/pkg/types/date.go rename to internal/sdk/types/date.go diff --git a/internal/sdk/pkg/types/datetime.go b/internal/sdk/types/datetime.go similarity index 100% rename from internal/sdk/pkg/types/datetime.go rename to internal/sdk/types/datetime.go diff --git a/internal/sdk/pkg/types/decimal.go b/internal/sdk/types/decimal.go similarity index 100% rename from internal/sdk/pkg/types/decimal.go rename to internal/sdk/types/decimal.go diff --git a/internal/sdk/pkg/types/pointers.go b/internal/sdk/types/pointers.go similarity index 100% rename from internal/sdk/pkg/types/pointers.go rename to internal/sdk/types/pointers.go diff --git a/internal/validators/DateValidator.go b/internal/validators/DateValidator.go index 4bf0a09..58d3c05 100644 --- a/internal/validators/DateValidator.go +++ b/internal/validators/DateValidator.go @@ -6,7 +6,7 @@ import ( "context" "github.com/hashicorp/terraform-plugin-framework-validators/helpers/validatordiag" "github.com/hashicorp/terraform-plugin-framework/schema/validator" - "github.com/speakeasy/terraform-provider-terraform/internal/sdk/pkg/types" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/types" ) var _ validator.String = DateValidator{} diff --git a/swagger.yaml b/swagger.yaml new file mode 100644 index 0000000..fdc1865 --- /dev/null +++ b/swagger.yaml @@ -0,0 +1,4417 @@ +openapi: 3.0.0 +info: + title: steering-mgmt + description: steering mgmt service IPSec CRUD operations. + version: 1.0.0 +servers: + - url: https://{tenant}.goskope.com/api/v2 + description: The production API server + variables: + tenant: + default: demo + description: this value is assigned by Netskope, in this example `demo.goskope.com` +security: + - api_key: [] +components: + securitySchemes: + api_key: + type: apiKey + in: header + name: Netskope-Api-Token + schemas: + publisher_post_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: "#/components/schemas/tag_item_no_id" + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + required: + - name + tag_item_no_id: + type: object + properties: + tag_name: + type: string + tag_item: + type: object + properties: + tag_name: + type: string + tag_id: + type: integer + format: int32 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + x-speakeasy-entity: NPAPublishers + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: NPAPublishers + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + x-speakeasy-type-override: any + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + x-speakeasy-entity: NPAPublishersList + properties: + data: + $ref: "#/components/schemas/Data" + status: + type: string + total: + type: integer + format: int32 + Data: + type: object + additionalProperties: false + properties: + publishers: + type: array + items: + $ref: "#/components/schemas/Publisher" + required: + - publishers + title: Data + Publisher: + type: object + additionalProperties: false + properties: + apps_count: + type: integer + assessment: + anyOf: + - $ref: "#/components/schemas/Assessment" + - type: object + common_name: + type: string + connected_apps: + anyOf: + - type: array + items: + type: string + lbrokerconnect: + type: boolean + publisher_id: + type: integer + publisher_name: + type: string + publisher_upgrade_profiles_external_id: + type: integer + registered: + type: boolean + status: + type: string + stitcher_id: + type: integer + tags: + type: array + items: {} + upgrade_failed_reason: + anyOf: + - $ref: "#/components/schemas/UpgradeFailedReason" + - type: object + upgrade_request: + type: boolean + upgrade_status: + $ref: "#/components/schemas/UpgradeStatus" + required: + - apps_count + - assessment + - common_name + - connected_apps + - lbrokerconnect + - publisher_id + - publisher_name + - publisher_upgrade_profiles_external_id + - registered + - status + - stitcher_id + - tags + - upgrade_failed_reason + - upgrade_request + - upgrade_status + title: Publisher + Assessment: + type: object + additionalProperties: false + properties: + eee_support: + type: boolean + hdd_free: + type: string + hdd_total: + type: string + ip_address: + type: string + latency: + type: integer + version: + type: string + required: + - eee_support + - hdd_free + - hdd_total + - ip_address + - latency + - version + title: Assessment + UpgradeFailedReason: + type: object + additionalProperties: false + properties: + detail: + type: string + error_code: + type: integer + timestamp: + type: integer + version: + type: string + format: integer + required: + - detail + - error_code + - timestamp + - version + title: UpgradeFailedReason + UpgradeStatus: + type: object + additionalProperties: false + properties: + upstat: + type: string + required: + - upstat + title: UpgradeStatus + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + publisher_bulk_request: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + x-speakeasy-entity: NPAPublishersBulkUpgrade + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/publisher_bulk_item" + publishers_alert_get_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: + - NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + x-speakeasy-entity: NPAPublishersAlertsConfiguration + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + x-speakeasy-entity: NPAPublishersReleasesList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: "#/components/schemas/release_item" + protocol_response_item: + type: object + properties: + id: + x-speakeasy-ignore: true + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + x-speakeasy-ignore: true + type: integer + format: int32 + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + publisher_apps_list_response: + type: object + x-speakeasy-entity: NPAPublishersAppsList + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: "#/components/schemas/protocol_response_item" + tags: + type: array + items: + $ref: "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + $ref: "#/components/schemas/service_publisher_assignment_item" + "200": + type: "object" + properties: + status: + x-speakeasy-terraform-ignore: true + type: "integer" + example: 200 + result: + type: "array" + items: + type: "object" + "400": + type: "object" + properties: + status: + type: "integer" + example: 400 + message: + type: "string" + publisher_upgrade_profile_post_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + required: {} + publisher_upgrade_profile_put_request: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + name: + type: "string" + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_response: + type: "object" + properties: + status: + type: "string" + x-speakeasy-ignore: true + enum: + - success + - not found + data: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfile + properties: + id: + type: "integer" + format: "int32" + frequency: + type: "string" + timezone: + type: "string" + docker_tag: + type: "string" + release_type: + type: "string" + name: + type: "string" + enabled: + type: "boolean" + publisher_upgrade_profile_get_response: + type: "object" + x-speakeasy-entity: NPAPublisherUpgradeProfileList + properties: + status: + type: "string" + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + total: + type: "integer" + format: "int32" + data: + type: object + properties: + upgrade_profiles: + type: array + items: + type: object + properties: + created_at: + type: string + docker_tag: + type: string + enabled: + type: boolean + external_id: + type: integer + format: int32 + frequency: + type: string + id: + type: integer + format: int32 + name: + type: string + next_update_time: + type: integer + format: int32 + num_associated_publisher: + type: integer + release_type: + type: string + timezone: + type: string + updated_at: + type: string + upgrading_stage: + type: integer + format: int32 + will_start: + type: boolean + publisher_upgrade_profile_bulk_request: + type: "object" + properties: + publishers: + type: "object" + properties: + id: + type: "array" + items: + type: "string" + apply: + type: "object" + properties: + publisher_upgrade_profiles_id: + type: "string" + upgrade_publisher_response: + type: "object" + properties: + publisher_id: + type: "integer" + format: "int32" + publisher_name: + type: "string" + common_name: + type: "string" + registered: + type: "boolean" + lbrokerconnect: + type: "boolean" + assessment: + type: "object" + stitcher_id: + type: "integer" + format: "int32" + status: + type: "string" + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: "integer" + format: "int32" + tags: + type: "array" + items: + $ref: "#/components/schemas/tag_item" + publisher_upgrade_profile_bulk_response: + type: "object" + properties: + status: + type: "string" + enum: + - success + - not found + data: + type: "array" + items: + $ref: "#/components/schemas/upgrade_publisher_response" + total: + type: "integer" + format: "int32" + npa_policy_request: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: string + example: "1" + position: + type: integer + example: 5 + group_id: + x-speakeasy-ignore: true + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + x-speakeasy-entity: NPAPolicy + properties: + rule_id: + type: string + example: "1" + rule_name: + type: string + example: van-test + rule_data: + "$ref": "#/components/schemas/npa_policy_rule_data" + group_id: + x-speakeasy-ignore: true + type: integer + example: 1 + npa_policy_list_response: + x-speakeasy-entity: NPAPolicyList + type: object + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policy_response_item" + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: array + items: + type: string + example: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: "[172.31.12.135]" + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + "$ref": "#/components/schemas/npa_policy_rule_dlp" + npa_policygroup_request: + type: object + x-speakeasy-entity: NPAPolicyGroup + required: + - group_name + - group_order + properties: + group_name: + type: string + group_order: + type: object + required: + - order + - group_id + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + npa_policygroup_response_item: + type: object + x-speakeasy-entity: NPAPolicyGroup + properties: + group_id: + type: string + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: string + group_type: + type: string + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: object + x-speakeasy-entity: PolicyGroupList + properties: + data: + type: array + items: + "$ref": "#/components/schemas/npa_policygroup_response_item" + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + "$ref": "#/components/schemas/protocol_item" + publishers: + type: array + items: + "$ref": "#/components/schemas/publisher_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item_no_id" + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: object + x-speakeasy-entity: PrivateApp + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + x-speakeasy-name-override: "resolved_protocols" + items: + "$ref": "#/components/schemas/protocol_response_item" + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + service_publisher_assignments: + type: array + items: + "$ref": "#/components/schemas/service_publisher_assignment_item" + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: object + x-speakeasy-entity: PrivateAppList + properties: + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + data: + type: object + properties: + private_apps: + type: array + items: {} + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_request: + x-speakeasy-entity: + - PrivateAppTagList + - PrivateAppTag + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + publisher_tags: + type: array + items: + "$ref": "#/components/schemas/tag_item" + tag_response: + type: object + x-speakeasy-entity: PrivateAppTagList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + x-speakeasy-entity: PrivateAppTag + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_pop_result_item" + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_result_item" + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/gre_tunnel_pop_result_item" + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_pop_result_item" + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_result_item" + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string +paths: + /infrastructure/publishers: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher objects + description: Get list of publisher objects + operationId: getNPAPublisher + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersList#read + x-speakeasy-group: NPAPublishers + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + post: + summary: Create a publisher + description: Create a publisher + operationId: createNPApublisher + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublishers#create + x-speakeasy-group: NPAPublishers + parameters: + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_post_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + delete: + summary: Delete a publisher + description: Delete a publisher based on publisher id + operationId: deleteNPAPublisher + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublishers#delete + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Update a publisher + description: update a publisher based on publisher id + operationId: replaceNPAPublisherById + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublishers#update + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + x-speakeasy-terraform-ignore: true + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + patch: + summary: Patch a publisher + description: patch a publisher based on publisher id + operationId: updateNPAPublisherById + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + get: + summary: Get a publisher + description: get a publisher based on publisher id + operationId: getNPAPublisherById + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublishers#read + x-speakeasy-group: NPAPublishers + parameters: + - name: publisher_id + in: path + x-speakeasy-match: id + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/registration_token: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + post: + summary: Generate and retrieve a token for publisher registration + description: Generate and retrieve a token for publisher registration + operationId: generateNPAPublisherToken + x-speakeasy-name-override: create + x-speakeasy-entity-operation: PublisherToken#create + x-speakeasy-group: PublisherToken + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + type: object + properties: + data: + x-speakeasy-entity: PublisherToken + type: object + properties: + token: + type: string + required: + - token + status: + type: string + x-speakeasy-terraform-ignore: true + enum: + - success + - not found + required: + - data + - status + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/{publisher_id}/apps: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get all private apps associated to a publisher + description: Get all private apps associated to a publisher + operationId: getNPAPublisherApps + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersAppsList#read + x-speakeasy-group: NPAPublishersApps + parameters: + - name: publisher_id + in: path + required: true + description: publisher id + schema: + type: integer + format: int32 + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_apps_list_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/bulk: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + put: + summary: Trigger bulk publisher update action + description: Trigger bulk publisher update action + operationId: triggerNPAPublisherUpdate + x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_bulk_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_bulk_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/releases: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher release objects + description: Get list of publisher release objects + operationId: getNPAPublisherObjects + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublishersReleasesList#read + x-speakeasy-group: NPAPublishersReleases + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_release_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publishers/alertsconfiguration: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_publishers + get: + summary: Get list of publisher alerts + description: Get list of publisher alerts + operationId: getNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + put: + summary: Configure publisher alerts + description: Configure publisher alerts + operationId: configureNPAPublisherAlerts + x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update + parameters: + - name: silent + in: query + x-speakeasy-ignore: true + required: false + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: string + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_put_request" + required: true + responses: + "200": + description: successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_alert_get_response" + "400": + description: Invalid request + content: + application/json: + schema: + $ref: "#/components/schemas/publishers_response_400" + /infrastructure/publisherupgradeprofiles: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + get: + summary: "Get list of publisher upgrade profile objects" + description: "Get list of publisher upgrade profile objects" + x-speakeasy-name-override: list_objects + x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "fields" + in: "query" + x-speakeasy-terraform-ignore: true + description: "Return values only from specified fields" + schema: + type: "string" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_get_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + post: + summary: "Create a publisher upgrade profile" + description: "Create a publisher upgrade profile" + x-speakeasy-name-override: create + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "silent" + in: "query" + x-speakeasy-terraform-ignore: true + description: "flag to skip output except status code" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_post_request" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_upgrade_profiles + delete: + summary: "Delete a publisher" + description: "Delete a publisher upgrade profile based on profile id" + x-speakeasy-name-override: delete + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + type: "object" + properties: + status: + type: "string" + enum: + - success + - error + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + put: + summary: "Update a publisher upgrade profile" + description: "update a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: update + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + - name: "silent" + in: "query" + description: "flag to skip output except status code" + x-speakeasy-terraform-ignore: true + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_put_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + #$ref: "#/components/schemas/200" # This should be the same as the post response + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + get: + summary: "Get a publisher upgrade profile " + description: "get a publisher upgrade profile based on publisher upgrade profile id" + x-speakeasy-name-override: read + x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read + x-speakeasy-group: NPAPublisherUpgradeProfiles + parameters: + - name: "upgrade_profile_id" + in: "path" + x-speakeasy-match: id + required: true + description: "publisher upgrade profile id" + schema: + type: "integer" + format: "int32" + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /infrastructure/publisherupgradeprofiles/bulk: + x-netskope-params: + customerFacing: true + apiGroup: npa_upgrade_profiles + serviceConfig: provisioner-pycore-ws + version: 2 + description: "Update the profile of multiple publishers" + put: + summary: "Update the profile of multiple publishers " + parameters: + - name: "silent" + in: "query" + description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" + schema: + type: "string" + enum: + - "1" + - "0" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" + required: true + responses: + "200": + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" + "400": + description: "Invalid request" + content: + application/json: + schema: + $ref: "#/components/schemas/400" + /policy/npa/rules: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + get: + summary: Get list of npa policies + x-speakeasy-entity-operation: NPAPolicyList#get + description: Get list of npa policies + parameters: + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policies to retrieve. Default will be all policies. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policies by specified field. Default is policy id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_list_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + post: + summary: Create a npa policy + description: Create a policy + x-speakeasy-entity-operation: NPAPolicy#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/rules/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policy + delete: + summary: Delete a npa policy + x-speakeasy-entity-operation: NPAPolicy#delete + description: Delete a npa policy with rule id + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + patch: + summary: Patch a npa policy + description: Patch a npa policy based on rule id + x-speakeasy-entity-operation: NPAPolicy#update + parameters: + - name: id + in: path + required: true + description: policy rule id + x-speakeasy-match: rule_id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + get: + summary: Get a npa policy + description: Get a npa policy based on policy rule id + x-speakeasy-entity-operation: NPAPolicy#get + parameters: + - name: id + in: path + required: true + description: npa policy id + x-speakeasy-match: rule_id + schema: + type: string + - name: fields + in: query + x-speakeasy-terraform-ignore: true + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect + "$ref": "#/components/schemas/npa_policy_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policy_response_400" + /policy/npa/policygroups: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + get: + summary: Get list of npa policy groups + description: Get list of npa policy groups + x-speakeasy-entity-operation: PolicyGroupList#read + parameters: + - name: fields + in: query + required: false + x-speakeasy-terraform-ignore: true + description: Return values only from specified fields + schema: + type: string + - name: filter + in: query + required: false + description: Query string based on query operaters + schema: + type: string + - name: limit + in: query + required: false + description: Max number of policy groups to retrieve. Default will be all policy groups. + schema: + type: integer + - name: offset + in: query + required: false + description: The offset of the first policy group in the list to retrieve. + schema: + type: integer + - name: sortby + in: query + required: false + description: Sort retrieved policy group by specified field. Default is policy group id + schema: + type: string + - name: sortorder + in: query + required: false + description: Sort in either asc or desc order. The default is asc order + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + post: + summary: Create a npa policy group + description: Create a npa policy group + x-speakeasy-entity-operation: NPAPolicyGroup#create + parameters: + - name: silent + in: query + x-speakeasy-terraform-ignore: true + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /policy/npa/policygroups/{id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_policygroup + delete: + summary: Delete a npa policy group + description: Delete a npa policy group with group id + x-speakeasy-entity-operation: NPAPolicyGroup#delete + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: npa policy group id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + patch: + summary: Patch a npa policy group + description: Patch a npa policy group based on group id + parameters: + - name: id + in: path + required: true + x-speakeasy-match: group_id + description: policy group rule id + schema: + type: string + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + get: + summary: Get a npa policy group + description: Get a npa policy group based on group id + x-speakeasy-entity-operation: NPAPolicyGroup#read + parameters: + - name: id + in: path + required: true + description: npa policy group id + x-speakeasy-match: group_id + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + data: + type: array + "$ref": "#/components/schemas/npa_policygroup_response_item" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/npa_policygroup_response_400" + /steering/apps/private: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + get: + summary: Get list of private applications + description: Get list of private applications + x-speakeasy-entity-operation: PrivateAppList#read + parameters: + - name: fields + in: query + required: false + description: Return values only from specified fields + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_get_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + post: + summary: Create a private application + description: Create a private application + x-speakeasy-entity-operation: PrivateApp#create + parameters: + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/{private_app_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + delete: + summary: Delete a private application + x-speakeasy-entity-operation: PrivateApp#delete + description: Delete a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + put: + summary: Update a private application + x-speakeasy-entity-operation: PrivateApp#update + description: Update a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + x-speakeasy-match: id + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + x-speakeasy-terraform-ignore: true + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + patch: + summary: Patch a private application + description: Patch a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + - name: silent + in: query + required: false + description: flag to skip output except status code + schema: + type: string + enum: + - '1' + - '0' + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_put_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + get: + summary: Get a private application + description: Get a private application based on private app id + parameters: + - name: private_app_id + in: path + required: true + description: private apps id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_apps_private + post: + summary: Retrieve number of policy in use for specified private apps + description: Retrieve number of policy in use for specified private apps + x-speakeasy-entity: PrivateAppPolicyUseCount#read + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppPolicyUseCount + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/private_apps_response_400" + /steering/apps/private/tags: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: create tags for private apps + description: Create tags for private apps + x-speakeasy-entity-operation: PrivateAppTag#create + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + patch: + summary: bulk update tags to associate with specified private apps + description: Bulk update tags to associate with specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: bulk delete tags for specified private apps + description: Bulk delete tags for specified private apps + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + get: + summary: 'Get list of private app tags ' + description: Get list of private app tags + x-speakeasy-entity-operation: PrivateAppTagList#read + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/{tag_id}: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + get: + summary: Get a private app tag based on tag id + description: Get a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + put: + summary: Update a private app tag based on tag id + description: Update a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + delete: + summary: Delete a private app tag based on tag id + description: Delete a private app tag based on tag id + parameters: + - name: tag_id + in: path + required: true + description: tag id + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_request" + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - error + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/apps/private/tags/getpolicyinuse: + x-netskope-params: + serviceConfig: provisioner-pycore-ws + version: 2 + customerFacing: true + apiGroup: npa_private_tag + post: + summary: Retrieve number of policy in use for specified tags + description: Retrieve number of policy in use for specified tags + x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get + requestBody: + content: + application/json: + schema: + x-speakeasy-entity: PrivateAppTagPolicyUseList + type: object + properties: + ids: + type: array + items: + type: string + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + x-speakeasy-entity: PrivateAppTagPolicyUseList + properties: + status: + x-speakeasy-ignore: true + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + token: + type: string + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/tag_response_400" + /steering/gre/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE points of presence(POPs) list + description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE point of presence(POP) + description: API to get GRE POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnels list + description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: GRE tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: GRE tunnel source ip identity + schema: + type: string + - name: pop + in: query + required: false + description: GRE tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: GRE tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: GRE tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: GRE tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: GRE tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + post: + summary: Create GRE tunnel + description: API to create new GRE tunnel. You can pass json body with tunnel details. + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/gre/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: gre + get: + summary: Get GRE tunnel + description: API to get GRE tunnel using id. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + patch: + summary: Update GRE tunnel + description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + requestBody: + description: GRE tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + delete: + summary: Delete GRE tunnel + description: API to delete GRE tunnel using id + parameters: + - name: id + in: path + required: true + description: GRE tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/gre_response_500" + /steering/ipsec/pops: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec points of presence(POPs) list + description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. + parameters: + - name: name + in: query + required: false + description: POP name + schema: + type: string + - name: region + in: query + required: false + description: POP region, requires ISO-3166 region code and return POPs closest to value + schema: + type: string + - name: country + in: query + required: false + description: POP country, requires ISO-3166 country code and return POPs closest to value + schema: + type: string + - name: lat + in: query + required: false + description: POP latitude, lat requires long in combination and return POPs closest to value + schema: + type: string + - name: long + in: query + required: false + description: POP longitude, long requires lat in combination and return POPs closest to value + schema: + type: string + - name: ip + in: query + required: false + description: POP ipaddress, return POPs closest to value + schema: + type: string + - name: capabilities + in: query + required: false + description: POP capabilities, return POPs capabilities + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the output window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of POPs to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/pops/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec point of presence(POP) + description: API to get IPSec POP using id. + parameters: + - name: id + in: path + required: true + description: POP id + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_pop_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnels list + description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters + parameters: + - name: site + in: query + required: false + description: IPSec tunnel site + schema: + type: string + - name: srcipidentity + in: query + required: false + description: IPSec tunnel source ip identity + schema: + type: string + - name: srcidentity + in: query + required: false + description: IPSec tunnel source identity + schema: + type: string + - name: pop + in: query + required: false + description: IPSec tunnel POP name + schema: + type: string + - name: status + in: query + required: false + description: IPSec tunnel status + schema: + type: string + - name: sourcetype + in: query + required: false + description: IPSec tunnel sourcetype + schema: + type: string + - name: sortby + in: query + required: false + description: IPSec tunnel sortby column + schema: + type: string + - name: sortorder + in: query + required: false + description: IPSec tunnel sortorder asc or desc. Default is asc + schema: + type: string + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + - name: offset + in: query + required: false + description: Offset used to shift the window + schema: + type: integer + default: 0 + minimum: 0 + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + default: 100 + minimum: 0 + maximum: !!float 100 + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + post: + summary: Create IPSec tunnel + description: API to create new IPSec tunnel. You can pass json body with tunnel details. + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_post" + responses: + '201': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_201" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '409': + description: Already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_409" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + /steering/ipsec/tunnels/{id}: + x-netskope-params: + serviceConfig: steering + version: 2 + customerFacing: true + apiGroup: ipsec + get: + summary: Get IPSec tunnel + description: API to get IPSec tunnel using id. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + - name: fields + in: query + required: false + description: Provide comma separated list of fields to be displayed + schema: + type: string + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + patch: + summary: Update IPSec tunnel + description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + requestBody: + description: IPSec tunnel object + required: true + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_tunnel_request_patch" + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_patch_response_200" + '400': + description: Invalid request + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_400" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" + delete: + summary: Delete IPSec tunnel + description: API to delete IPSec tunnel using id + parameters: + - name: id + in: path + required: true + description: IPSec tunnel id + schema: + type: integer + responses: + '200': + description: Successful operation + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_200" + '403': + description: Access forbidden + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_403" + '404': + description: Not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_404" + '405': + description: Method not allowed + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_405" + '429': + description: Too many requests + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_429" + '500': + description: Internal server error + content: + application/json: + schema: + "$ref": "#/components/schemas/ipsec_response_500" From 672dd7344eda41436c1ab948ee4533f5396bf89f Mon Sep 17 00:00:00 2001 From: Justin Adrian Date: Fri, 19 Apr 2024 14:25:26 -0400 Subject: [PATCH 5/8] regenerate 4-19-24 --- .speakeasy/gen.lock | 20 +- .speakeasy/gen.yaml | 2 +- .speakeasy/temp/applied_HGyilgdUXC.yaml | 6031 ----------------- .speakeasy/temp/merge_AmGwYbbjxq.yaml | 5976 ---------------- .speakeasy/temp/merge_BLnsFeEyhK.yaml | 5334 --------------- .speakeasy/temp/merge_CNXCMXiXpC.yaml | 5334 --------------- .speakeasy/temp/merge_EkFhZwiuOz.yaml | 4417 ------------ .speakeasy/temp/merge_GfrTIfiAPk.yaml | 5990 ---------------- .speakeasy/temp/merge_GhHNszQlJx.yaml | 5334 --------------- .speakeasy/temp/merge_JAdcXzLaRK.yaml | 6031 ----------------- .speakeasy/temp/merge_JRsYdfzTWb.yaml | 5985 ---------------- .speakeasy/temp/merge_LolXEYIEiA.yaml | 4417 ------------ .speakeasy/temp/merge_QJaWQpvTrB.yaml | 5980 ---------------- .speakeasy/temp/merge_SyPLFWjQPG.yaml | 6022 ---------------- .speakeasy/temp/merge_WeHOMkxeMj.yaml | 6031 ----------------- .speakeasy/temp/merge_XkaOXwScDU.yaml | 5953 ---------------- .speakeasy/temp/merge_ctdBFrIesm.yaml | 5334 --------------- .speakeasy/temp/merge_dqfekeUOAs.yaml | 6031 ----------------- .speakeasy/temp/merge_ejAbfdlbgl.yaml | 6021 ---------------- .speakeasy/temp/merge_hfUJvWZnrn.yaml | 5985 ---------------- .speakeasy/temp/merge_kOjwbHygSK.yaml | 5334 --------------- .speakeasy/temp/merge_obnBKAmjnV.yaml | 6022 ---------------- .speakeasy/temp/merge_osulCmlkTN.yaml | 5334 --------------- .speakeasy/temp/merge_tZyhHbnvvq.yaml | 5454 --------------- .speakeasy/temp/merge_vDPoWRRRii.yaml | 6020 ---------------- .speakeasy/temp/merge_zpZSxcBwxB.yaml | 5976 ---------------- .speakeasy/temp/output_AmVpwRaDhE.yaml | 6031 ----------------- .speakeasy/temp/output_EVlDxaRaED.yaml | 5980 ---------------- .speakeasy/temp/output_EztgMMirMv.yaml | 6021 ---------------- .speakeasy/temp/output_HiDVGuWctK.yaml | 6022 ---------------- .speakeasy/temp/output_KDzidilvtM.yaml | 5985 ---------------- .speakeasy/temp/output_LsZYkIkFkW.yaml | 5976 ---------------- .speakeasy/temp/output_NBtNJuKSYD.yaml | 5953 ---------------- .speakeasy/temp/output_OkTFqKymnq.yaml | 5334 --------------- .speakeasy/temp/output_PRSEkdCcnd.yaml | 5334 --------------- .speakeasy/temp/output_RCWelGgLkW.yaml | 4417 ------------ .speakeasy/temp/output_REeQQJmCji.yaml | 5334 --------------- .speakeasy/temp/output_RSmxqoyVbl.yaml | 6031 ----------------- .speakeasy/temp/output_SUrSYlEUwy.yaml | 5985 ---------------- .speakeasy/temp/output_XuhdpSJpWa.yaml | 6031 ----------------- .speakeasy/temp/output_YWnMmlKqYj.yaml | 5334 --------------- .speakeasy/temp/output_blGPAVDmbM.yaml | 5334 --------------- .speakeasy/temp/output_cQUmSibNwl.yaml | 5976 ---------------- .speakeasy/temp/output_dmsXNpuaxE.yaml | 5454 --------------- .speakeasy/temp/output_jytchafsTQ.yaml | 6020 ---------------- .speakeasy/temp/output_lOoyyvNwNn.yaml | 4417 ------------ .speakeasy/temp/output_seECDqokun.yaml | 6022 ---------------- .speakeasy/temp/output_wrMZdxXuQE.yaml | 5990 ---------------- .speakeasy/temp/output_zTikskYjAI.yaml | 5334 --------------- .speakeasy/workflow.lock | 25 + .speakeasy/workflow.yaml | 25 +- README.md | 2 +- examples/provider/provider.tf | 2 +- go.mod | 65 +- internal/provider/npapolicy_data_source.go | 4 + internal/provider/npapolicy_resource.go | 15 +- internal/provider/npapolicy_resource_sdk.go | 30 +- .../provider/npapolicygroup_data_source.go | 4 + internal/provider/npapolicygroup_resource.go | 5 +- .../provider/npapolicylist_data_source.go | 4 + .../provider/npapublishers_data_source.go | 4 + internal/provider/npapublishers_resource.go | 11 +- .../provider/npapublishers_resource_sdk.go | 4 +- ...blishersalertsconfiguration_data_source.go | 4 + ...apublishersalertsconfiguration_resource.go | 5 +- ...lishersalertsconfiguration_resource_sdk.go | 4 +- .../npapublishersappslist_data_source.go | 10 + .../npapublishersappslist_data_source_sdk.go | 12 + .../npapublishersbulkupgrade_resource.go | 1 - .../npapublishersbulkupgrade_resource_sdk.go | 2 +- .../provider/npapublisherslist_data_source.go | 4 + .../npapublishersreleaseslist_data_source.go | 4 + .../npapublisherupgradeprofile_data_source.go | 4 + .../npapublisherupgradeprofile_resource.go | 5 +- ...publisherupgradeprofilelist_data_source.go | 4 + .../provider/policygrouplist_data_source.go | 4 + internal/provider/privateapp_resource.go | 35 +- internal/provider/privateapp_resource_sdk.go | 28 +- .../provider/privateapplist_data_source.go | 4 + internal/provider/privateapptag_resource.go | 1 - .../provider/privateapptag_resource_sdk.go | 6 +- .../provider/privateapptaglist_data_source.go | 4 + .../privateapptagpolicyuselist_data_source.go | 4 + ...vateapptagpolicyuselist_data_source_sdk.go | 2 +- internal/provider/publishertoken_resource.go | 1 - internal/provider/reflect/helpers.go | 2 +- internal/provider/reflect/options.go | 9 + internal/provider/reflect/struct.go | 14 +- internal/provider/scimgroups_data_source.go | 4 + internal/provider/scimgroups_resource.go | 72 +- internal/provider/scimgroups_resource_sdk.go | 15 +- .../provider/scimgroupsbyid_data_source.go | 4 + internal/provider/scimuser_data_source.go | 4 + internal/provider/scimuser_resource.go | 5 +- internal/provider/scimuser_resource_sdk.go | 8 +- .../provider/types/protocol_response_item.go | 2 + .../provider/types/publisher_assessment.go | 4 +- .../types/publisher_upgrade_failed_reason.go | 4 +- internal/provider/utils.go | 15 +- internal/sdk/internal/utils/headers.go | 27 +- internal/sdk/internal/utils/pathparams.go | 44 +- internal/sdk/internal/utils/queryparams.go | 54 +- internal/sdk/internal/utils/requestbody.go | 6 +- internal/sdk/internal/utils/utils.go | 57 +- .../models/operations/patchscimusersbyid.go | 412 ++ .../models/operations/putscimgroupsbyid.go | 455 -- .../sdk/models/shared/protocolresponseitem.go | 16 + internal/sdk/models/shared/tagitemnoid.go | 17 +- internal/sdk/npapublishers.go | 20 +- internal/sdk/npapublishersapps.go | 4 +- internal/sdk/npapublishersreleases.go | 4 +- internal/sdk/npapublisherupgradeprofiles.go | 20 +- internal/sdk/publishertoken.go | 4 +- internal/sdk/scimgroups.go | 95 +- internal/sdk/scimusers.go | 36 +- internal/sdk/terraformproviderns.go | 180 +- 116 files changed, 1197 insertions(+), 267447 deletions(-) delete mode 100644 .speakeasy/temp/applied_HGyilgdUXC.yaml delete mode 100644 .speakeasy/temp/merge_AmGwYbbjxq.yaml delete mode 100644 .speakeasy/temp/merge_BLnsFeEyhK.yaml delete mode 100644 .speakeasy/temp/merge_CNXCMXiXpC.yaml delete mode 100644 .speakeasy/temp/merge_EkFhZwiuOz.yaml delete mode 100644 .speakeasy/temp/merge_GfrTIfiAPk.yaml delete mode 100644 .speakeasy/temp/merge_GhHNszQlJx.yaml delete mode 100644 .speakeasy/temp/merge_JAdcXzLaRK.yaml delete mode 100644 .speakeasy/temp/merge_JRsYdfzTWb.yaml delete mode 100644 .speakeasy/temp/merge_LolXEYIEiA.yaml delete mode 100644 .speakeasy/temp/merge_QJaWQpvTrB.yaml delete mode 100644 .speakeasy/temp/merge_SyPLFWjQPG.yaml delete mode 100644 .speakeasy/temp/merge_WeHOMkxeMj.yaml delete mode 100644 .speakeasy/temp/merge_XkaOXwScDU.yaml delete mode 100644 .speakeasy/temp/merge_ctdBFrIesm.yaml delete mode 100644 .speakeasy/temp/merge_dqfekeUOAs.yaml delete mode 100644 .speakeasy/temp/merge_ejAbfdlbgl.yaml delete mode 100644 .speakeasy/temp/merge_hfUJvWZnrn.yaml delete mode 100644 .speakeasy/temp/merge_kOjwbHygSK.yaml delete mode 100644 .speakeasy/temp/merge_obnBKAmjnV.yaml delete mode 100644 .speakeasy/temp/merge_osulCmlkTN.yaml delete mode 100644 .speakeasy/temp/merge_tZyhHbnvvq.yaml delete mode 100644 .speakeasy/temp/merge_vDPoWRRRii.yaml delete mode 100644 .speakeasy/temp/merge_zpZSxcBwxB.yaml delete mode 100644 .speakeasy/temp/output_AmVpwRaDhE.yaml delete mode 100644 .speakeasy/temp/output_EVlDxaRaED.yaml delete mode 100644 .speakeasy/temp/output_EztgMMirMv.yaml delete mode 100644 .speakeasy/temp/output_HiDVGuWctK.yaml delete mode 100644 .speakeasy/temp/output_KDzidilvtM.yaml delete mode 100644 .speakeasy/temp/output_LsZYkIkFkW.yaml delete mode 100644 .speakeasy/temp/output_NBtNJuKSYD.yaml delete mode 100644 .speakeasy/temp/output_OkTFqKymnq.yaml delete mode 100644 .speakeasy/temp/output_PRSEkdCcnd.yaml delete mode 100644 .speakeasy/temp/output_RCWelGgLkW.yaml delete mode 100644 .speakeasy/temp/output_REeQQJmCji.yaml delete mode 100644 .speakeasy/temp/output_RSmxqoyVbl.yaml delete mode 100644 .speakeasy/temp/output_SUrSYlEUwy.yaml delete mode 100644 .speakeasy/temp/output_XuhdpSJpWa.yaml delete mode 100644 .speakeasy/temp/output_YWnMmlKqYj.yaml delete mode 100644 .speakeasy/temp/output_blGPAVDmbM.yaml delete mode 100644 .speakeasy/temp/output_cQUmSibNwl.yaml delete mode 100644 .speakeasy/temp/output_dmsXNpuaxE.yaml delete mode 100644 .speakeasy/temp/output_jytchafsTQ.yaml delete mode 100644 .speakeasy/temp/output_lOoyyvNwNn.yaml delete mode 100644 .speakeasy/temp/output_seECDqokun.yaml delete mode 100644 .speakeasy/temp/output_wrMZdxXuQE.yaml delete mode 100644 .speakeasy/temp/output_zTikskYjAI.yaml create mode 100644 .speakeasy/workflow.lock create mode 100644 internal/sdk/models/operations/patchscimusersbyid.go delete mode 100644 internal/sdk/models/operations/putscimgroupsbyid.go diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 224901e..e0fed12 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,23 +1,23 @@ lockVersion: 2.0.0 id: a76d3a50-7d28-47aa-96a0-41eb7882b85b management: - docChecksum: 8550aa786ab80b14b96e7cd246369585 + docChecksum: c0c7bd0d6d845ab3a43660205a684cd6 docVersion: 2.0.0 - speakeasyVersion: 1.220.0 - generationVersion: 2.286.7 - releaseVersion: 0.2.2 - configChecksum: f71bf187ba4b699689e55adddfe629ce + speakeasyVersion: 1.264.1 + generationVersion: 2.312.0 + releaseVersion: 0.3.0 + configChecksum: ee343df04823d6938af17f679dd4624f features: terraform: constsAndDefaults: 0.1.4 - core: 3.11.5 + core: 3.18.3 globalSecurity: 2.81.6 globalServerURLs: 2.82.1 groups: 2.81.2 ignores: 2.81.1 - nameOverrides: 2.81.1 + nameOverrides: 2.81.2 typeOverrides: 2.81.1 - unions: 2.81.10 + unions: 2.81.12 generatedFiles: - internal/sdk/npapublishers.go - internal/sdk/publishertoken.go @@ -108,8 +108,8 @@ generatedFiles: - internal/sdk/models/operations/deletescimusers.go - internal/sdk/models/operations/createscimgroups.go - internal/sdk/models/operations/getscimgroups.go - - internal/sdk/models/operations/putscimgroupsbyid.go - internal/sdk/models/operations/getscimgroupsbyid.go + - internal/sdk/models/operations/patchscimusersbyid.go - internal/sdk/models/operations/deletescimusersbyid.go - internal/sdk/models/shared/fourhundred.go - internal/sdk/models/shared/publishersresponse400.go @@ -257,8 +257,8 @@ generatedFiles: - internal/provider/types/apply.go - internal/provider/types/publishers.go - internal/provider/types/protocol_item.go - - internal/provider/types/publisher_item.go - internal/provider/types/tag_item_no_id.go + - internal/provider/types/publisher_item.go - internal/provider/types/protocol_response_item.go - internal/provider/types/reachability.go - internal/provider/types/service_publisher_assignment_item.go diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 0b52c75..e9936da 100755 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -12,7 +12,7 @@ generation: auth: oAuth2ClientCredentialsEnabled: true terraform: - version: 0.2.2 + version: 0.3.0 author: speakeasy imports: option: openapi diff --git a/.speakeasy/temp/applied_HGyilgdUXC.yaml b/.speakeasy/temp/applied_HGyilgdUXC.yaml deleted file mode 100644 index 5af2f98..0000000 --- a/.speakeasy/temp/applied_HGyilgdUXC.yaml +++ /dev/null @@ -1,6031 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUser#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUser - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUser - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsersList#read - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUsersList - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - operationId: putSCIMUsersById - x-speakeasy-entity-operation: SCIMUser#update - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/json: - schema: - x-speakeasy-entity: SCIMUser - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUser - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUser#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUser - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/json: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq work].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUser#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/json: - schema: - x-speakeasy-entity: SCIMGroups - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/json: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMGroups - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroup#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/json: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/json: - schema: - x-speakeasy-entity: SCIMGroups - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroupsById#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/json: - schema: - x-speakeasy-entity: SCIMGroups - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-ignore: true - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/json: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_AmGwYbbjxq.yaml b/.speakeasy/temp/merge_AmGwYbbjxq.yaml deleted file mode 100644 index 928a13f..0000000 --- a/.speakeasy/temp/merge_AmGwYbbjxq.yaml +++ /dev/null @@ -1,5976 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope SCIM Server endpoints - description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublisher - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublisher - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublisher - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - parameters: - - name: id - description: SCIM Used ID should be specified - x-speakeasy-entity-operation: SCIMUsers#get - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_BLnsFeEyhK.yaml b/.speakeasy/temp/merge_BLnsFeEyhK.yaml deleted file mode 100644 index dc895db..0000000 --- a/.speakeasy/temp/merge_BLnsFeEyhK.yaml +++ /dev/null @@ -1,5334 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope SCIM Server endpoints - description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUsers#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_CNXCMXiXpC.yaml b/.speakeasy/temp/merge_CNXCMXiXpC.yaml deleted file mode 100644 index d1f6ffb..0000000 --- a/.speakeasy/temp/merge_CNXCMXiXpC.yaml +++ /dev/null @@ -1,5334 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope SCIM Server endpoints - description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUsers#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#read - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_EkFhZwiuOz.yaml b/.speakeasy/temp/merge_EkFhZwiuOz.yaml deleted file mode 100644 index fdc1865..0000000 --- a/.speakeasy/temp/merge_EkFhZwiuOz.yaml +++ /dev/null @@ -1,4417 +0,0 @@ -openapi: 3.0.0 -info: - title: steering-mgmt - description: steering mgmt service IPSec CRUD operations. - version: 1.0.0 -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublisher - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublisher - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublisher - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" diff --git a/.speakeasy/temp/merge_GfrTIfiAPk.yaml b/.speakeasy/temp/merge_GfrTIfiAPk.yaml deleted file mode 100644 index 9bd0494..0000000 --- a/.speakeasy/temp/merge_GfrTIfiAPk.yaml +++ /dev/null @@ -1,5990 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope SCIM Server endpoints - description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - parameters: - - name: id - description: SCIM Used ID should be specified - x-speakeasy-entity-operation: SCIMUsers#get - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_GhHNszQlJx.yaml b/.speakeasy/temp/merge_GhHNszQlJx.yaml deleted file mode 100644 index 084ee12..0000000 --- a/.speakeasy/temp/merge_GhHNszQlJx.yaml +++ /dev/null @@ -1,5334 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope SCIM Server endpoints - description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUsers#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-ignore: true - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroupsById#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_JAdcXzLaRK.yaml b/.speakeasy/temp/merge_JAdcXzLaRK.yaml deleted file mode 100644 index f06060f..0000000 --- a/.speakeasy/temp/merge_JAdcXzLaRK.yaml +++ /dev/null @@ -1,6031 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope SCIM Server endpoints - description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUsers - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/json: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#read - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUsers - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-ignore: true - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/json: - schema: - type: object - description: User object - properties: - schemas: - x-speakeasy-entity: SCIMUsers - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/json: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUsers#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/json: - schema: - type: object - properties: - schemas: - x-speakeasy-entity: SCIMUsers - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/json: - schema: - x-speakeasy-entity: SCIMUsers - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq work].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/json: - schema: - x-speakeasy-entity: SCIMGroups - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/json: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMGroups - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-ignore: true - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/json: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/json: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroupsById#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/json: - schema: - x-speakeasy-entity: SCIMGroups - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/json: - schema: - x-speakeasy-entity: SCIMGroups - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_JRsYdfzTWb.yaml b/.speakeasy/temp/merge_JRsYdfzTWb.yaml deleted file mode 100644 index 02a96d5..0000000 --- a/.speakeasy/temp/merge_JRsYdfzTWb.yaml +++ /dev/null @@ -1,5985 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope SCIM Server endpoints - description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublisher - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublisher - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublisher - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - parameters: - - name: id - description: SCIM Used ID should be specified - x-speakeasy-entity-operation: SCIMUsers#get - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_LolXEYIEiA.yaml b/.speakeasy/temp/merge_LolXEYIEiA.yaml deleted file mode 100644 index fdc1865..0000000 --- a/.speakeasy/temp/merge_LolXEYIEiA.yaml +++ /dev/null @@ -1,4417 +0,0 @@ -openapi: 3.0.0 -info: - title: steering-mgmt - description: steering mgmt service IPSec CRUD operations. - version: 1.0.0 -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublisher - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublisher - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublisher - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" diff --git a/.speakeasy/temp/merge_QJaWQpvTrB.yaml b/.speakeasy/temp/merge_QJaWQpvTrB.yaml deleted file mode 100644 index 8f37615..0000000 --- a/.speakeasy/temp/merge_QJaWQpvTrB.yaml +++ /dev/null @@ -1,5980 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope SCIM Server endpoints - description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublisher - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublisher - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublisher - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - parameters: - - name: id - description: SCIM Used ID should be specified - x-speakeasy-entity-operation: SCIMUsers#get - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_SyPLFWjQPG.yaml b/.speakeasy/temp/merge_SyPLFWjQPG.yaml deleted file mode 100644 index a70fb50..0000000 --- a/.speakeasy/temp/merge_SyPLFWjQPG.yaml +++ /dev/null @@ -1,6022 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope SCIM Server endpoints - description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUsers#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_WeHOMkxeMj.yaml b/.speakeasy/temp/merge_WeHOMkxeMj.yaml deleted file mode 100644 index 9b5e9d1..0000000 --- a/.speakeasy/temp/merge_WeHOMkxeMj.yaml +++ /dev/null @@ -1,6031 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope SCIM Server endpoints - description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUser#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUser - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUser - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsersList#read - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUsersList - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - operationId: putSCIMUsersById - x-speakeasy-entity-operation: SCIMUser#update - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/json: - schema: - x-speakeasy-entity: SCIMUser - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUser - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUser#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUser - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/json: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq work].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUser#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/json: - schema: - x-speakeasy-entity: SCIMGroups - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/json: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMGroups - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroup#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/json: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/json: - schema: - x-speakeasy-entity: SCIMGroups - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroupsById#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/json: - schema: - x-speakeasy-entity: SCIMGroups - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-ignore: true - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/json: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_XkaOXwScDU.yaml b/.speakeasy/temp/merge_XkaOXwScDU.yaml deleted file mode 100644 index 9d4e21c..0000000 --- a/.speakeasy/temp/merge_XkaOXwScDU.yaml +++ /dev/null @@ -1,5953 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope SCIM Server endpoints - description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublisher - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublisher - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublisher - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - description: Creation of a SCIM User. - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_ctdBFrIesm.yaml b/.speakeasy/temp/merge_ctdBFrIesm.yaml deleted file mode 100644 index dc895db..0000000 --- a/.speakeasy/temp/merge_ctdBFrIesm.yaml +++ /dev/null @@ -1,5334 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope SCIM Server endpoints - description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUsers#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_dqfekeUOAs.yaml b/.speakeasy/temp/merge_dqfekeUOAs.yaml deleted file mode 100644 index 9b5e9d1..0000000 --- a/.speakeasy/temp/merge_dqfekeUOAs.yaml +++ /dev/null @@ -1,6031 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope SCIM Server endpoints - description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUser#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUser - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUser - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsersList#read - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUsersList - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - operationId: putSCIMUsersById - x-speakeasy-entity-operation: SCIMUser#update - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/json: - schema: - x-speakeasy-entity: SCIMUser - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUser - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUser#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUser - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/json: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq work].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUser#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/json: - schema: - x-speakeasy-entity: SCIMGroups - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/json: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMGroups - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroup#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/json: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/json: - schema: - x-speakeasy-entity: SCIMGroups - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroupsById#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/json: - schema: - x-speakeasy-entity: SCIMGroups - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-ignore: true - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/json: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_ejAbfdlbgl.yaml b/.speakeasy/temp/merge_ejAbfdlbgl.yaml deleted file mode 100644 index d9f5322..0000000 --- a/.speakeasy/temp/merge_ejAbfdlbgl.yaml +++ /dev/null @@ -1,6021 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope SCIM Server endpoints - description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - parameters: - - name: id - description: SCIM Used ID should be specified - x-speakeasy-entity-operation: SCIMUsers#get - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_hfUJvWZnrn.yaml b/.speakeasy/temp/merge_hfUJvWZnrn.yaml deleted file mode 100644 index 8775d8f..0000000 --- a/.speakeasy/temp/merge_hfUJvWZnrn.yaml +++ /dev/null @@ -1,5985 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope SCIM Server endpoints - description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - parameters: - - name: id - description: SCIM Used ID should be specified - x-speakeasy-entity-operation: SCIMUsers#get - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_kOjwbHygSK.yaml b/.speakeasy/temp/merge_kOjwbHygSK.yaml deleted file mode 100644 index b6c432e..0000000 --- a/.speakeasy/temp/merge_kOjwbHygSK.yaml +++ /dev/null @@ -1,5334 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope SCIM Server endpoints - description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUsers#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroupsById#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_obnBKAmjnV.yaml b/.speakeasy/temp/merge_obnBKAmjnV.yaml deleted file mode 100644 index a70fb50..0000000 --- a/.speakeasy/temp/merge_obnBKAmjnV.yaml +++ /dev/null @@ -1,6022 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope SCIM Server endpoints - description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUsers#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_osulCmlkTN.yaml b/.speakeasy/temp/merge_osulCmlkTN.yaml deleted file mode 100644 index 48af7b7..0000000 --- a/.speakeasy/temp/merge_osulCmlkTN.yaml +++ /dev/null @@ -1,5334 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope SCIM Server endpoints - description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-ignore: true - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUsers#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-ignore: true - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroupsById#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_tZyhHbnvvq.yaml b/.speakeasy/temp/merge_tZyhHbnvvq.yaml deleted file mode 100644 index 1b61d54..0000000 --- a/.speakeasy/temp/merge_tZyhHbnvvq.yaml +++ /dev/null @@ -1,5454 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope SCIM Server endpoints - description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - application/scim+json: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#read - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-ignore: true - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUsers#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-ignore: true - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroupsById#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_vDPoWRRRii.yaml b/.speakeasy/temp/merge_vDPoWRRRii.yaml deleted file mode 100644 index 2f4964d..0000000 --- a/.speakeasy/temp/merge_vDPoWRRRii.yaml +++ /dev/null @@ -1,6020 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope SCIM Server endpoints - description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - parameters: - - name: id - description: SCIM Used ID should be specified - x-speakeasy-entity-operation: SCIMUsers#get - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/merge_zpZSxcBwxB.yaml b/.speakeasy/temp/merge_zpZSxcBwxB.yaml deleted file mode 100644 index 409deec..0000000 --- a/.speakeasy/temp/merge_zpZSxcBwxB.yaml +++ /dev/null @@ -1,5976 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope SCIM Server endpoints - description: "
API to provision users and groups to the tenant.\n# Introduction\nAPI to provision users and groups to the tenant.\n\nSCIM specification is defined in [RFC-7644](https://www.rfc-editor.org/rfc/rfc7644.html).\n\nNetskope SCIM Server supports subset of the APIs listed bellow.\n# Supported Resources\n## User\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`emails` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User` | Multivalued attribute. How ever **Scim server only supports primary email, and ignores the other values**.
**Request will be rejected if primary email is not specified.**|\n|*`userName`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|unique userName of the user.**Request will be rejected if primary email is not specified.**|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|This is a common attribute of type string.|\n| `active`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Boolean value to enable disable the user.|\n| `name`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:User`|Supports only `givenName` and `familyName`|\n-------------------------------\n\n\n**Endpoints** \n \n* `/Users` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: get all the users of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new user to the tenant.) |\n --------------------------------\n\n\n* `/Users/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve user (eg: retrive the users of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: replace the user of {id}) |\n | `PATCH` | Update | Updating an existing record (eg: updating the record of {id})
`emails`,`active`, `name`, `userName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | DELETE requests can be used to delete a record (like deleting a MSP from the Master MSP) |\n --------------------------------\n \n\n\n## Group\nSchema is mention in the [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)\n\nFollowing attrbute is supported.\n| Attribute | Schema | Description |\n|- |- |- |\n|*`displayName` | [RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group` | String attribute represent the group.
**Request will be rejected if primary email is not specified.**|\n|`members`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|Multivalued attribute, list of members.|\n| `externalId`|[RFC-7643](https://datatracker.ietf.org/doc/rfc7643/)#`core:2.0:Group`|This is a common attribute of type string.|\n\n**Supported Endpoints**\n\n \n* `/Groups` : Create or retrive the users in the tenant.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve groups (eg: get all the groups of tenant.) |\n | `POST` | Create | Create a new record (eg: adding new group to the tenant.) |\n --------------------------------\n\n\n* `/Groups/{id}` : Mofify, delete or retrive a user.\n\n Supported methods.\n | Method Type | CRUD | Description |\n |- |- |- |\n | `GET` | Read | Retrieve the group (eg: get the group of {id}.) |\n | `PUT` | Replace | Replacing an existing record (eg: Replacing the group |\n | `PATCH` | Update | Updating an existing record (eg: adding a member to the group of {id})
`members`,`displayName`, `externalId` attributes can be edited |\n | `DELETE` | Delete | Delete a record (like deleting a group of {id}) |\n --------------------------------\n# Configuration``WIP``\n\n\n**Supported Endpoints**\n# Authentication``WIP``\n
" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublisher - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublisher - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublisher - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - parameters: - - name: id - description: SCIM Used ID should be specified - x-speakeasy-entity-operation: SCIMUsers#get - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_AmVpwRaDhE.yaml b/.speakeasy/temp/output_AmVpwRaDhE.yaml deleted file mode 100644 index 5af2f98..0000000 --- a/.speakeasy/temp/output_AmVpwRaDhE.yaml +++ /dev/null @@ -1,6031 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUser#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUser - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUser - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsersList#read - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUsersList - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - operationId: putSCIMUsersById - x-speakeasy-entity-operation: SCIMUser#update - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/json: - schema: - x-speakeasy-entity: SCIMUser - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUser - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUser#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUser - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/json: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq work].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUser#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/json: - schema: - x-speakeasy-entity: SCIMGroups - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/json: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMGroups - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroup#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/json: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/json: - schema: - x-speakeasy-entity: SCIMGroups - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroupsById#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/json: - schema: - x-speakeasy-entity: SCIMGroups - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-ignore: true - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/json: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_EVlDxaRaED.yaml b/.speakeasy/temp/output_EVlDxaRaED.yaml deleted file mode 100644 index 779aea8..0000000 --- a/.speakeasy/temp/output_EVlDxaRaED.yaml +++ /dev/null @@ -1,5980 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublisher - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublisher - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublisher - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - parameters: - - name: id - description: SCIM Used ID should be specified - x-speakeasy-entity-operation: SCIMUsers#get - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_EztgMMirMv.yaml b/.speakeasy/temp/output_EztgMMirMv.yaml deleted file mode 100644 index 4a88867..0000000 --- a/.speakeasy/temp/output_EztgMMirMv.yaml +++ /dev/null @@ -1,6021 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - parameters: - - name: id - description: SCIM Used ID should be specified - x-speakeasy-entity-operation: SCIMUsers#get - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_HiDVGuWctK.yaml b/.speakeasy/temp/output_HiDVGuWctK.yaml deleted file mode 100644 index 17aa12d..0000000 --- a/.speakeasy/temp/output_HiDVGuWctK.yaml +++ /dev/null @@ -1,6022 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUsers#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_KDzidilvtM.yaml b/.speakeasy/temp/output_KDzidilvtM.yaml deleted file mode 100644 index 2f7869d..0000000 --- a/.speakeasy/temp/output_KDzidilvtM.yaml +++ /dev/null @@ -1,5985 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - parameters: - - name: id - description: SCIM Used ID should be specified - x-speakeasy-entity-operation: SCIMUsers#get - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_LsZYkIkFkW.yaml b/.speakeasy/temp/output_LsZYkIkFkW.yaml deleted file mode 100644 index 5cb20c2..0000000 --- a/.speakeasy/temp/output_LsZYkIkFkW.yaml +++ /dev/null @@ -1,5976 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublisher - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublisher - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublisher - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - parameters: - - name: id - description: SCIM Used ID should be specified - x-speakeasy-entity-operation: SCIMUsers#get - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_NBtNJuKSYD.yaml b/.speakeasy/temp/output_NBtNJuKSYD.yaml deleted file mode 100644 index f28ba6f..0000000 --- a/.speakeasy/temp/output_NBtNJuKSYD.yaml +++ /dev/null @@ -1,5953 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublisher - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublisher - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublisher - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - description: Creation of a SCIM User. - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_OkTFqKymnq.yaml b/.speakeasy/temp/output_OkTFqKymnq.yaml deleted file mode 100644 index 4ec67cc..0000000 --- a/.speakeasy/temp/output_OkTFqKymnq.yaml +++ /dev/null @@ -1,5334 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUsers#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#read - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_PRSEkdCcnd.yaml b/.speakeasy/temp/output_PRSEkdCcnd.yaml deleted file mode 100644 index d06e5b8..0000000 --- a/.speakeasy/temp/output_PRSEkdCcnd.yaml +++ /dev/null @@ -1,5334 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUsers#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_RCWelGgLkW.yaml b/.speakeasy/temp/output_RCWelGgLkW.yaml deleted file mode 100644 index ffdf4b3..0000000 --- a/.speakeasy/temp/output_RCWelGgLkW.yaml +++ /dev/null @@ -1,4417 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: Combined specification to produce netskope terraform provider via speakeasy - version: 1.0.0 -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublisher - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublisher - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublisher - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" diff --git a/.speakeasy/temp/output_REeQQJmCji.yaml b/.speakeasy/temp/output_REeQQJmCji.yaml deleted file mode 100644 index d06e5b8..0000000 --- a/.speakeasy/temp/output_REeQQJmCji.yaml +++ /dev/null @@ -1,5334 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUsers#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_RSmxqoyVbl.yaml b/.speakeasy/temp/output_RSmxqoyVbl.yaml deleted file mode 100644 index ce7eb47..0000000 --- a/.speakeasy/temp/output_RSmxqoyVbl.yaml +++ /dev/null @@ -1,6031 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUsers - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/json: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#read - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUsers - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-ignore: true - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/json: - schema: - type: object - description: User object - properties: - schemas: - x-speakeasy-entity: SCIMUsers - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/json: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUsers#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/json: - schema: - type: object - properties: - schemas: - x-speakeasy-entity: SCIMUsers - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/json: - schema: - x-speakeasy-entity: SCIMUsers - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq work].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/json: - schema: - x-speakeasy-entity: SCIMGroups - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/json: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMGroups - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-ignore: true - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/json: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/json: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroupsById#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/json: - schema: - x-speakeasy-entity: SCIMGroups - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/json: - schema: - x-speakeasy-entity: SCIMGroups - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_SUrSYlEUwy.yaml b/.speakeasy/temp/output_SUrSYlEUwy.yaml deleted file mode 100644 index 3cb853a..0000000 --- a/.speakeasy/temp/output_SUrSYlEUwy.yaml +++ /dev/null @@ -1,5985 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublisher - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublisher - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublisher - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - parameters: - - name: id - description: SCIM Used ID should be specified - x-speakeasy-entity-operation: SCIMUsers#get - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_XuhdpSJpWa.yaml b/.speakeasy/temp/output_XuhdpSJpWa.yaml deleted file mode 100644 index 5af2f98..0000000 --- a/.speakeasy/temp/output_XuhdpSJpWa.yaml +++ /dev/null @@ -1,6031 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUser#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUser - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUser - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsersList#read - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUsersList - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - operationId: putSCIMUsersById - x-speakeasy-entity-operation: SCIMUser#update - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/json: - schema: - x-speakeasy-entity: SCIMUser - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUser - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUser#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMUser - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/json: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq work].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUser#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/json: - schema: - x-speakeasy-entity: SCIMGroups - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/json: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/json: - schema: - type: object - x-speakeasy-entity: SCIMGroups - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroup#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/json: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/json: - schema: - x-speakeasy-entity: SCIMGroups - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroupsById#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/json: - schema: - x-speakeasy-entity: SCIMGroups - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-ignore: true - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/json: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_YWnMmlKqYj.yaml b/.speakeasy/temp/output_YWnMmlKqYj.yaml deleted file mode 100644 index dc9966a..0000000 --- a/.speakeasy/temp/output_YWnMmlKqYj.yaml +++ /dev/null @@ -1,5334 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUsers#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroupsById#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_blGPAVDmbM.yaml b/.speakeasy/temp/output_blGPAVDmbM.yaml deleted file mode 100644 index 7b4b50d..0000000 --- a/.speakeasy/temp/output_blGPAVDmbM.yaml +++ /dev/null @@ -1,5334 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUsers#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-ignore: true - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroupsById#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_cQUmSibNwl.yaml b/.speakeasy/temp/output_cQUmSibNwl.yaml deleted file mode 100644 index e658470..0000000 --- a/.speakeasy/temp/output_cQUmSibNwl.yaml +++ /dev/null @@ -1,5976 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublisher - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublisher - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublisher - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - parameters: - - name: id - description: SCIM Used ID should be specified - x-speakeasy-entity-operation: SCIMUsers#get - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_dmsXNpuaxE.yaml b/.speakeasy/temp/output_dmsXNpuaxE.yaml deleted file mode 100644 index 886bb85..0000000 --- a/.speakeasy/temp/output_dmsXNpuaxE.yaml +++ /dev/null @@ -1,5454 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - application/scim+json: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#read - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-ignore: true - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUsers#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-ignore: true - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroupsById#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_jytchafsTQ.yaml b/.speakeasy/temp/output_jytchafsTQ.yaml deleted file mode 100644 index e0e366b..0000000 --- a/.speakeasy/temp/output_jytchafsTQ.yaml +++ /dev/null @@ -1,6020 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - parameters: - - name: id - description: SCIM Used ID should be specified - x-speakeasy-entity-operation: SCIMUsers#get - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_lOoyyvNwNn.yaml b/.speakeasy/temp/output_lOoyyvNwNn.yaml deleted file mode 100644 index ffdf4b3..0000000 --- a/.speakeasy/temp/output_lOoyyvNwNn.yaml +++ /dev/null @@ -1,4417 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: Combined specification to produce netskope terraform provider via speakeasy - version: 1.0.0 -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublisher - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublisher - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublisher - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" diff --git a/.speakeasy/temp/output_seECDqokun.yaml b/.speakeasy/temp/output_seECDqokun.yaml deleted file mode 100644 index 17aa12d..0000000 --- a/.speakeasy/temp/output_seECDqokun.yaml +++ /dev/null @@ -1,6022 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUsers#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_wrMZdxXuQE.yaml b/.speakeasy/temp/output_wrMZdxXuQE.yaml deleted file mode 100644 index 37b2faa..0000000 --- a/.speakeasy/temp/output_wrMZdxXuQE.yaml +++ /dev/null @@ -1,5990 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: user request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - status: - type: integer - enum: - - 200 - example: 200 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - parameters: - - name: id - description: SCIM Used ID should be specified - x-speakeasy-entity-operation: SCIMUsers#get - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:User - example: - - urn:ietf:params:scim:schemas:core:2.0:User - id: - type: string - description: SCIM User ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - userName: - type: string - description: UPN name of the SCIM User - example: upn1 - name: - type: object - description: Family_name and given_name for the User - properties: - familyName: - type: string - description: last_name of the SCIM User. - example: last_name - givenName: - type: string - description: first_name of the SCIM User. - example: first_name - active: - type: boolean - example: "true" - emails: - type: array - items: - type: object - properties: - value: - type: string - description: Email ID of the SCIM user - pattern: ^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$ - example: email1@netskope.local - primary: - type: boolean - example: "true" - externalId: - type: string - description: Optional - Scim External ID - example: User-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: User - example: - resourceType: User - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: attribute to be modified. - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: userName - enum: - - userName - - name.givenname - - name.familyname - - externalid - - emails[type eq "work"].value - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: new_upn - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: Group object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - responses: - "201": - description: Successfully added the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:ListResponse - totalResults: - type: integer - example: 1 - startIndex: - type: integer - example: 1 - itemsPerPage: - type: integer - example: 1 - Resources: - type: array - items: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - displayName: - type: string - description: Display name for group. - example: sample_group1 - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-entity-operation: SCIMGroups#update - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: User object - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type Group. - example: Group - example: - resourceType: Group - responses: - "200": - description: Successfully updated the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - status: - type: integer - enum: - - 201 - - 200 - example: 201 - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - application/scim+json;charset=utf-8: - schema: - type: object - properties: - id: - type: string - description: SCIM Group ID - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:schemas:core:2.0:Group - example: - - urn:ietf:params:scim:schemas:core:2.0:Group - displayName: - type: string - description: Display name for group. - example: sample_group1 - members: - type: array - items: - type: object - properties: - value: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - externalId: - type: string - description: Optional - Scim External ID - example: Group-Ext_id - meta: - type: object - description: meta information - properties: - resourceType: - type: string - description: resource type User/Group. - example: Group - example: - resourceType: Group - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - application/scim+json;charset=utf-8: - schema: - type: object - description: group request body - properties: - schemas: - type: array - description: schema of the resource - items: - type: string - enum: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - example: - - urn:ietf:params:scim:api:messages:2.0:PatchOp - Operations: - type: array - items: - type: object - properties: - path: - type: string - example: members - enum: - - members - - externalid - - displayname - op: - type: string - example: add - enum: - - add - - remove - - replace - value: - oneOf: - - type: string - - type: object - description: value either string or object - example: - value: - value: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/temp/output_zTikskYjAI.yaml b/.speakeasy/temp/output_zTikskYjAI.yaml deleted file mode 100644 index c8081b0..0000000 --- a/.speakeasy/temp/output_zTikskYjAI.yaml +++ /dev/null @@ -1,5334 +0,0 @@ -openapi: 3.0.0 -info: - title: Netskope Terraform Provider - description: "Combined specification to produce netskope terraform provider via speakeasy" - version: 2.0.0 - contact: - name: Provisioner - email: eng-provisioner-dev-blr@netskope.com -servers: - - url: https://{tenant}.goskope.com/api/v2 - description: The production API server - variables: - tenant: - default: demo - description: this value is assigned by Netskope, in this example `demo.goskope.com` -security: - - api_key: [] -components: - securitySchemes: - api_key: - type: apiKey - in: header - name: Netskope-Api-Token - schemas: - publisher_post_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - default: publisher_name - lbrokerconnect: - type: boolean - default: false - tags: - type: array - items: - $ref: "#/components/schemas/tag_item_no_id" - publisher_upgrade_profiles_id: - type: integer - format: int32 - default: 1 - required: - - name - tag_item_no_id: - type: object - properties: - tag_name: - type: string - tag_item: - type: object - properties: - tag_name: - type: string - tag_id: - type: integer - format: int32 - release_item: - type: object - properties: - docker_tag: - type: string - name: - type: string - version: - type: string - publisher_put_request: - type: object - x-speakeasy-entity: NPAPublishers - properties: - name: - type: string - id: - type: integer - format: int32 - lbrokerconnect: - type: boolean - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: NPAPublishers - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - x-speakeasy-type-override: any - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publishers_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - publishers_get_response: - type: object - x-speakeasy-entity: NPAPublishersList - properties: - data: - $ref: "#/components/schemas/Data" - status: - type: string - total: - type: integer - format: int32 - Data: - type: object - additionalProperties: false - properties: - publishers: - type: array - items: - $ref: "#/components/schemas/Publisher" - required: - - publishers - title: Data - Publisher: - type: object - additionalProperties: false - properties: - apps_count: - type: integer - assessment: - anyOf: - - $ref: "#/components/schemas/Assessment" - - type: object - common_name: - type: string - connected_apps: - anyOf: - - type: array - items: - type: string - lbrokerconnect: - type: boolean - publisher_id: - type: integer - publisher_name: - type: string - publisher_upgrade_profiles_external_id: - type: integer - registered: - type: boolean - status: - type: string - stitcher_id: - type: integer - tags: - type: array - items: {} - upgrade_failed_reason: - anyOf: - - $ref: "#/components/schemas/UpgradeFailedReason" - - type: object - upgrade_request: - type: boolean - upgrade_status: - $ref: "#/components/schemas/UpgradeStatus" - required: - - apps_count - - assessment - - common_name - - connected_apps - - lbrokerconnect - - publisher_id - - publisher_name - - publisher_upgrade_profiles_external_id - - registered - - status - - stitcher_id - - tags - - upgrade_failed_reason - - upgrade_request - - upgrade_status - title: Publisher - Assessment: - type: object - additionalProperties: false - properties: - eee_support: - type: boolean - hdd_free: - type: string - hdd_total: - type: string - ip_address: - type: string - latency: - type: integer - version: - type: string - required: - - eee_support - - hdd_free - - hdd_total - - ip_address - - latency - - version - title: Assessment - UpgradeFailedReason: - type: object - additionalProperties: false - properties: - detail: - type: string - error_code: - type: integer - timestamp: - type: integer - version: - type: string - format: integer - required: - - detail - - error_code - - timestamp - - version - title: UpgradeFailedReason - UpgradeStatus: - type: object - additionalProperties: false - properties: - upstat: - type: string - required: - - upstat - title: UpgradeStatus - publisher_bulk_item: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - common_name: - type: string - registered: - type: boolean - lbrokerconnect: - type: boolean - assessment: - type: object - upgrade_failed_reason: - type: object - upgrade_request: - type: boolean - upgrade_status: - type: object - stitcher_id: - type: integer - format: int32 - status: - type: string - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: integer - format: int32 - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - publisher_bulk_request: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - publishers: - type: object - properties: - id: - type: array - items: - type: string - apply: - type: object - properties: - upgrade_request: - type: boolean - default: true - publishers_bulk_response: - type: object - x-speakeasy-entity: NPAPublishersBulkUpgrade - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/publisher_bulk_item" - publishers_alert_get_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: - - NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_request: - type: object - x-speakeasy-entity: NPAPublishersAlertsConfiguration - properties: - adminUsers: - type: array - items: - type: string - example: - - admin1@abc.com - - admin2@abc.com - eventTypes: - type: array - items: - type: string - enum: - - UPGRADE_WILL_START - - UPGRADE_STARTED - - UPGRADE_SUCCEEDED - - UPGRADE_FAILED - - CONNECTION_FAILED - minItems: 1 - maxItems: 5 - example: - - CONNECTION_FAILED - - UPGRADE_STARTED - selectedUsers: - type: string - example: abc@xyz.com,def@xyz.com - publishers_alert_put_response: - type: object - properties: - status: - type: string - enum: - - success - - not found - - failure - publishers_release_get_response: - type: object - x-speakeasy-entity: NPAPublishersReleasesList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - $ref: "#/components/schemas/release_item" - protocol_response_item: - type: object - properties: - id: - x-speakeasy-ignore: true - type: integer - format: int32 - port: - type: string - transport: - type: string - service_id: - x-speakeasy-ignore: true - type: integer - format: int32 - service_publisher_assignment_item: - type: object - properties: - publisher_id: - type: integer - format: int32 - service_id: - type: integer - format: int32 - primary: - type: boolean - reachability: - type: object - properties: - error_code: - type: integer - format: int32 - reachable: - type: boolean - error_string: - type: string - publisher_apps_list_response: - type: object - x-speakeasy-entity: NPAPublishersAppsList - properties: - status: - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - items: - $ref: "#/components/schemas/protocol_response_item" - tags: - type: array - items: - $ref: "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - $ref: "#/components/schemas/service_publisher_assignment_item" - "200": - type: "object" - properties: - status: - x-speakeasy-terraform-ignore: true - type: "integer" - example: 200 - result: - type: "array" - items: - type: "object" - "400": - type: "object" - properties: - status: - type: "integer" - example: 400 - message: - type: "string" - publisher_upgrade_profile_post_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - required: {} - publisher_upgrade_profile_put_request: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - name: - type: "string" - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_response: - type: "object" - properties: - status: - type: "string" - x-speakeasy-ignore: true - enum: - - success - - not found - data: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfile - properties: - id: - type: "integer" - format: "int32" - frequency: - type: "string" - timezone: - type: "string" - docker_tag: - type: "string" - release_type: - type: "string" - name: - type: "string" - enabled: - type: "boolean" - publisher_upgrade_profile_get_response: - type: "object" - x-speakeasy-entity: NPAPublisherUpgradeProfileList - properties: - status: - type: "string" - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - total: - type: "integer" - format: "int32" - data: - type: object - properties: - upgrade_profiles: - type: array - items: - type: object - properties: - created_at: - type: string - docker_tag: - type: string - enabled: - type: boolean - external_id: - type: integer - format: int32 - frequency: - type: string - id: - type: integer - format: int32 - name: - type: string - next_update_time: - type: integer - format: int32 - num_associated_publisher: - type: integer - release_type: - type: string - timezone: - type: string - updated_at: - type: string - upgrading_stage: - type: integer - format: int32 - will_start: - type: boolean - publisher_upgrade_profile_bulk_request: - type: "object" - properties: - publishers: - type: "object" - properties: - id: - type: "array" - items: - type: "string" - apply: - type: "object" - properties: - publisher_upgrade_profiles_id: - type: "string" - upgrade_publisher_response: - type: "object" - properties: - publisher_id: - type: "integer" - format: "int32" - publisher_name: - type: "string" - common_name: - type: "string" - registered: - type: "boolean" - lbrokerconnect: - type: "boolean" - assessment: - type: "object" - stitcher_id: - type: "integer" - format: "int32" - status: - type: "string" - enum: - - connected - - not registered - publisher_upgrade_profile_id: - type: "integer" - format: "int32" - tags: - type: "array" - items: - $ref: "#/components/schemas/tag_item" - publisher_upgrade_profile_bulk_response: - type: "object" - properties: - status: - type: "string" - enum: - - success - - not found - data: - type: "array" - items: - $ref: "#/components/schemas/upgrade_publisher_response" - total: - type: "integer" - format: "int32" - npa_policy_request: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_name: - type: string - example: vantest - description: - type: string - example: any - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - rule_order: - type: object - properties: - order: - type: string - enum: - - top - - bottom - - before - - after - rule_name: - type: string - example: api-policy-managed - rule_id: - type: string - example: "1" - position: - type: integer - example: 5 - group_id: - x-speakeasy-ignore: true - type: string - example: '1' - group_name: - type: string - example: My policy group - enabled: - type: string - example: '1' - npa_policy_response_item: - type: object - x-speakeasy-entity: NPAPolicy - properties: - rule_id: - type: string - example: "1" - rule_name: - type: string - example: van-test - rule_data: - "$ref": "#/components/schemas/npa_policy_rule_data" - group_id: - x-speakeasy-ignore: true - type: integer - example: 1 - npa_policy_list_response: - x-speakeasy-entity: NPAPolicyList - type: object - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policy_response_item" - npa_policy_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - npa_policy_rule_dlp: - type: array - items: - type: object - properties: - dlp_profile: - type: string - example: Payment Card - actions: - type: array - items: - type: string - enum: - - allow - - block - - alert - - quanrantine - - bypass - example: - - allow - npa_policy_rule_data: - type: object - properties: - users: - type: array - items: - type: string - example: - - vphan@netskope.com - userGroups: - type: array - items: - type: string - example: - - usergroup/group1 - organization_units: - type: array - items: - type: string - example: - - engineering/qa - userType: - type: string - enum: - - user - access_method: - type: array - items: - type: string - example: - - Client - - Clientless - policy_type: - type: string - enum: - - private-app - privateApps: - type: array - items: - type: string - example: - - app1 - - app2 - privateAppIds: - type: array - items: - type: string - example: - - '100' - - '201' - privateAppTags: - type: array - items: - type: string - example: - - tag1 - - tag2 - privateAppTagIds: - type: array - items: - type: string - example: - - '1' - - '2' - privateAppsWithActivities: - type: array - items: - type: object - properties: - appName: - type: string - example: "[172.31.12.135]" - activities: - type: array - items: - type: object - properties: - activity: - type: string - enum: - - any - list_of_constraints: - type: array - items: - type: string - example: [] - match_criteria_action: - type: object - properties: - action_name: - type: string - enum: - - allow - - block - classification: - type: string - show_dlp_profile_action_table: - type: boolean - external_dlp: - type: boolean - net_location_obj: - type: array - items: - type: string - example: - - 190.123.150.10 - - 190.218.0.0/16 - b_negateNetLocation: - type: boolean - srcCountries: - type: array - items: - type: string - example: - - US - - AF - - CN - b_negateSrcCountries: - type: boolean - json_version: - type: integer - example: 3 - version: - type: integer - example: 1 - dlp_actions: - "$ref": "#/components/schemas/npa_policy_rule_dlp" - npa_policygroup_request: - type: object - x-speakeasy-entity: NPAPolicyGroup - required: - - group_name - - group_order - properties: - group_name: - type: string - group_order: - type: object - required: - - order - - group_id - properties: - order: - type: string - enum: - - before - - after - group_id: - type: string - example: '1' - npa_policygroup_response_item: - type: object - x-speakeasy-entity: NPAPolicyGroup - properties: - group_id: - type: string - group_name: - type: string - modify_type: - type: string - modify_time: - type: string - can_be_edited_deleted: - type: string - group_type: - type: string - group_prod_id: - type: integer - group_pinned_id: - type: integer - npa_policygroup_response: - type: object - x-speakeasy-entity: PolicyGroupList - properties: - data: - type: array - items: - "$ref": "#/components/schemas/npa_policygroup_response_item" - npa_policygroup_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_put_request: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - app_name: - type: string - host: - type: string - real_host: - type: string - protocols: - type: array - items: - "$ref": "#/components/schemas/protocol_item" - publishers: - type: array - items: - "$ref": "#/components/schemas/publisher_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item_no_id" - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - private_apps_response: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: object - x-speakeasy-entity: PrivateApp - properties: - id: - type: integer - format: int32 - name: - type: string - use_publisher_dns: - type: boolean - clientless_access: - type: boolean - trust_self_signed_certs: - type: boolean - host: - type: string - real_host: - type: string - protocols: - type: array - x-speakeasy-name-override: "resolved_protocols" - items: - "$ref": "#/components/schemas/protocol_response_item" - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - service_publisher_assignments: - type: array - items: - "$ref": "#/components/schemas/service_publisher_assignment_item" - private_apps_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - private_apps_get_response: - type: object - x-speakeasy-entity: PrivateAppList - properties: - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - data: - type: object - properties: - private_apps: - type: array - items: {} - total: - type: integer - format: int32 - protocol_item: - type: object - properties: - type: - type: string - port: - type: string - publisher_item: - type: object - properties: - publisher_id: - type: string - publisher_name: - type: string - tag_request: - x-speakeasy-entity: - - PrivateAppTagList - - PrivateAppTag - type: object - properties: - id: - type: string - ids: - type: array - items: - type: string - tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - publisher_tags: - type: array - items: - "$ref": "#/components/schemas/tag_item" - tag_response: - type: object - x-speakeasy-entity: PrivateAppTagList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - x-speakeasy-entity: PrivateAppTag - type: object - properties: - tag_id: - type: integer - format: int32 - tag_name: - type: string - tag_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_pop_result_item" - gre_tunnel_request_post: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_request_patch: - type: object - properties: - site: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - enable: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - gre_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - gre_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_result_item" - gre_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - gre_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - gre_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - gre_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - gre_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - gre_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - gre_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - gre_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - distance: - type: string - acceptingtunnels: - type: boolean - gre_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - vendor: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/gre_tunnel_pop_result_item" - enabled: - type: boolean - options: - type: object - properties: - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - gre_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - usertrafficStatus: - type: string - usertrafficLast: - type: string - keepaliveStatus: - type: string - keepaliveLast: - type: string - throughput: - type: string - ipsec_pop_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_pop_result_item" - ipsec_tunnel_request_post: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_request_patch: - type: object - properties: - encryption: - type: string - site: - type: string - srcidentity: - type: string - psk: - type: string - srcipidentity: - type: string - pops: - type: array - items: - type: string - example: string - bandwidth: - type: integer - notes: - type: string - vendor: - type: string - sourcetype: - type: string - template: - type: string - enable: - type: boolean - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enable: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - ipsec_tunnel_response_200: - type: object - properties: - status: - type: integer - example: 200 - total: - type: integer - example: 1 - result: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_patch_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_200: - type: object - properties: - status: - type: integer - example: 200 - result: - type: string - ipsec_response_201: - type: object - properties: - status: - type: integer - example: 201 - result: - type: string - data: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_result_item" - ipsec_response_400: - type: object - properties: - status: - type: integer - example: 400 - result: - type: string - ipsec_response_403: - type: object - properties: - status: - type: integer - example: 403 - result: - type: string - ipsec_response_404: - type: object - properties: - status: - type: integer - example: 404 - result: - type: string - ipsec_response_405: - type: object - properties: - status: - type: integer - example: 405 - result: - type: string - ipsec_response_409: - type: object - properties: - status: - type: integer - example: 409 - result: - type: string - ipsec_response_429: - type: object - properties: - status: - type: integer - example: 429 - result: - type: string - ipsec_response_500: - type: object - properties: - status: - type: integer - example: 500 - result: - type: string - ipsec_pop_result_item: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - location: - type: string - gateway: - type: string - probeip: - type: string - options: - type: object - properties: - phase1: - type: object - properties: - ikeversion: - type: string - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - dpd: - type: boolean - phase2: - type: object - properties: - encryptionalgo: - type: string - integrityalgo: - type: string - dhgroup: - type: string - salifetime: - type: string - pfs: - type: boolean - distance: - type: string - acceptingtunnels: - type: boolean - bandwidth: - type: string - ipsec_tunnel_result_item: - type: object - properties: - id: - type: integer - example: 1 - site: - type: string - template: - type: string - sourcetype: - type: string - notes: - type: string - vendor: - type: string - encryption: - type: string - srcidentity: - type: string - srcipidentity: - type: string - pops: - type: array - items: - "$ref": "#/components/schemas/ipsec_tunnel_pop_result_item" - enabled: - type: boolean - bandwidth: - type: integer - example: 50 - options: - type: object - properties: - rekey: - type: boolean - example: false - reauth: - type: boolean - example: false - xff: - type: object - properties: - enabled: - type: boolean - example: false - iplist: - type: array - items: - type: string - example: string - version: - type: integer - example: 2 - ipsec_tunnel_pop_result_item: - type: object - properties: - name: - type: string - gateway: - type: string - probeip: - type: string - primary: - type: boolean - status: - type: string - since: - type: string - throughput: - type: string -paths: - /infrastructure/publishers: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher objects - description: Get list of publisher objects - operationId: getNPAPublishers - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersList#read - x-speakeasy-group: NPAPublishers - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - post: - summary: Create a publisher - description: Create a publisher - operationId: createNPApublishers - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublishers#create - x-speakeasy-group: NPAPublishers - parameters: - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_post_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - delete: - summary: Delete a publisher - description: Delete a publisher based on publisher id - operationId: deleteNPAPublishers - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublishers#delete - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Update a publisher - description: update a publisher based on publisher id - operationId: replaceNPAPublisherById - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublishers#update - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - x-speakeasy-terraform-ignore: true - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - patch: - summary: Patch a publisher - description: patch a publisher based on publisher id - operationId: updateNPAPublisherById - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - get: - summary: Get a publisher - description: get a publisher based on publisher id - operationId: getNPAPublisherById - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublishers#read - x-speakeasy-group: NPAPublishers - parameters: - - name: publisher_id - in: path - x-speakeasy-match: id - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/registration_token: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - post: - summary: Generate and retrieve a token for publisher registration - description: Generate and retrieve a token for publisher registration - operationId: generateNPAPublisherToken - x-speakeasy-name-override: create - x-speakeasy-entity-operation: PublisherToken#create - x-speakeasy-group: PublisherToken - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - type: object - properties: - data: - x-speakeasy-entity: PublisherToken - type: object - properties: - token: - type: string - required: - - token - status: - type: string - x-speakeasy-terraform-ignore: true - enum: - - success - - not found - required: - - data - - status - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/{publisher_id}/apps: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get all private apps associated to a publisher - description: Get all private apps associated to a publisher - operationId: getNPAPublisherApps - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersAppsList#read - x-speakeasy-group: NPAPublishersApps - parameters: - - name: publisher_id - in: path - required: true - description: publisher id - schema: - type: integer - format: int32 - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_apps_list_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/bulk: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - put: - summary: Trigger bulk publisher update action - description: Trigger bulk publisher update action - operationId: triggerNPAPublisherUpdate - x-speakeasy-entity-operation: NPAPublishersBulkUpgrade#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_bulk_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_bulk_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/releases: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher release objects - description: Get list of publisher release objects - operationId: getNPAPublisherObjects - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublishersReleasesList#read - x-speakeasy-group: NPAPublishersReleases - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_release_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publishers/alertsconfiguration: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_publishers - get: - summary: Get list of publisher alerts - description: Get list of publisher alerts - operationId: getNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#get - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - put: - summary: Configure publisher alerts - description: Configure publisher alerts - operationId: configureNPAPublisherAlerts - x-speakeasy-entity-operation: NPAPublishersAlertsConfiguration#create,update - parameters: - - name: silent - in: query - x-speakeasy-ignore: true - required: false - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: string - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_put_request" - required: true - responses: - "200": - description: successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_alert_get_response" - "400": - description: Invalid request - content: - application/json: - schema: - $ref: "#/components/schemas/publishers_response_400" - /infrastructure/publisherupgradeprofiles: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - get: - summary: "Get list of publisher upgrade profile objects" - description: "Get list of publisher upgrade profile objects" - operationId: getPublisherUpgradeProfiles - x-speakeasy-name-override: list_objects - x-speakeasy-entity-operation: NPAPublisherUpgradeProfileList#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "fields" - in: "query" - x-speakeasy-terraform-ignore: true - description: "Return values only from specified fields" - schema: - type: "string" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_get_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - post: - summary: "Create a publisher upgrade profile" - description: "Create a publisher upgrade profile" - operationId: createNPAPublisherUpradeProfiles - x-speakeasy-name-override: create - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#create - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "silent" - in: "query" - x-speakeasy-terraform-ignore: true - description: "flag to skip output except status code" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_post_request" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/{upgrade_profile_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_upgrade_profiles - delete: - summary: "Delete a publisher" - description: "Delete a publisher upgrade profile based on profile id" - operationId: deleteNPAPubliserUpgradeProfiles - x-speakeasy-name-override: delete - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#delete - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - type: "object" - properties: - status: - type: "string" - enum: - - success - - error - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - put: - summary: "Update a publisher upgrade profile" - description: "update a publisher upgrade profile based on publisher upgrade profile id" - operationId: replaceNPAPublisherUpgradeProfiles - x-speakeasy-name-override: update - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#update - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - - name: "silent" - in: "query" - description: "flag to skip output except status code" - x-speakeasy-terraform-ignore: true - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_put_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - #$ref: "#/components/schemas/200" # This should be the same as the post response - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - get: - summary: "Get a publisher upgrade profile " - description: "get a publisher upgrade profile based on publisher upgrade profile id" - operationId: getNPAPublisherUpgradeProfiles - x-speakeasy-name-override: read - x-speakeasy-entity-operation: NPAPublisherUpgradeProfile#read - x-speakeasy-group: NPAPublisherUpgradeProfiles - parameters: - - name: "upgrade_profile_id" - in: "path" - x-speakeasy-match: id - required: true - description: "publisher upgrade profile id" - schema: - type: "integer" - format: "int32" - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /infrastructure/publisherupgradeprofiles/bulk: - x-netskope-params: - customerFacing: true - apiGroup: npa_upgrade_profiles - serviceConfig: provisioner-pycore-ws - version: 2 - description: "Update the profile of multiple publishers" - put: - summary: "Update the profile of multiple publishers " - operationId: updateNPAPublisherProfilesBulk - parameters: - - name: "silent" - in: "query" - description: "flag to skip output except status code: \n * `1` - Skip response data \n * `0` - Do not skip response data" - schema: - type: "string" - enum: - - "1" - - "0" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_request" - required: true - responses: - "200": - description: "successful operation" - content: - application/json: - schema: - $ref: "#/components/schemas/publisher_upgrade_profile_bulk_response" - "400": - description: "Invalid request" - content: - application/json: - schema: - $ref: "#/components/schemas/400" - /policy/npa/rules: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - get: - summary: Get list of npa policies - x-speakeasy-entity-operation: NPAPolicyList#get - operationId: getNPAPolicyRules - description: Get list of npa policies - parameters: - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policies to retrieve. Default will be all policies. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policies by specified field. Default is policy id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_list_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - post: - summary: Create a npa policy - description: Create a policy - x-speakeasy-entity-operation: NPAPolicy#create - operationId: createNPAPolicyRules - parameters: - - name: silent - in: query - required: false - x-speakeasy-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/rules/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policy - delete: - summary: Delete a npa policy - x-speakeasy-entity-operation: NPAPolicy#delete - operationId: deleteNPAPolicyRules - description: Delete a npa policy with rule id - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - patch: - summary: Patch a npa policy - description: Patch a npa policy based on rule id - x-speakeasy-entity-operation: NPAPolicy#update - operationId: patchNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: policy rule id - x-speakeasy-match: rule_id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - get: - summary: Get a npa policy - description: Get a npa policy based on policy rule id - x-speakeasy-entity-operation: NPAPolicy#get - operationId: getNPAPolicyRulesById - parameters: - - name: id - in: path - required: true - description: npa policy id - x-speakeasy-match: rule_id - schema: - type: string - - name: fields - in: query - x-speakeasy-terraform-ignore: true - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - #"$ref": "#/components/schemas/npa_policy_response" #referenced the response item again which is incorrect - "$ref": "#/components/schemas/npa_policy_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policy_response_400" - /policy/npa/policygroups: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - get: - summary: Get list of npa policy groups - description: Get list of npa policy groups - x-speakeasy-entity-operation: PolicyGroupList#read - operationId: getNPAPolicyGroups - parameters: - - name: fields - in: query - required: false - x-speakeasy-terraform-ignore: true - description: Return values only from specified fields - schema: - type: string - - name: filter - in: query - required: false - description: Query string based on query operaters - schema: - type: string - - name: limit - in: query - required: false - description: Max number of policy groups to retrieve. Default will be all policy groups. - schema: - type: integer - - name: offset - in: query - required: false - description: The offset of the first policy group in the list to retrieve. - schema: - type: integer - - name: sortby - in: query - required: false - description: Sort retrieved policy group by specified field. Default is policy group id - schema: - type: string - - name: sortorder - in: query - required: false - description: Sort in either asc or desc order. The default is asc order - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - post: - summary: Create a npa policy group - description: Create a npa policy group - x-speakeasy-entity-operation: NPAPolicyGroup#create - operationId: createNPAPolicyGroups - parameters: - - name: silent - in: query - x-speakeasy-terraform-ignore: true - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /policy/npa/policygroups/{id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_policygroup - delete: - summary: Delete a npa policy group - description: Delete a npa policy group with group id - x-speakeasy-entity-operation: NPAPolicyGroup#delete - operationId: deleteNPAPolicyGroups - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: npa policy group id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - patch: - summary: Patch a npa policy group - description: Patch a npa policy group based on group id - operationId: patchNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - x-speakeasy-match: group_id - description: policy group rule id - schema: - type: string - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - get: - summary: Get a npa policy group - description: Get a npa policy group based on group id - x-speakeasy-entity-operation: NPAPolicyGroup#read - operationId: getNPAPolicyGroupsById - parameters: - - name: id - in: path - required: true - description: npa policy group id - x-speakeasy-match: group_id - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - data: - type: array - "$ref": "#/components/schemas/npa_policygroup_response_item" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/npa_policygroup_response_400" - /steering/apps/private: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - get: - summary: Get list of private applications - description: Get list of private applications - operationId: getNPAApps - x-speakeasy-entity-operation: PrivateAppList#read - parameters: - - name: fields - in: query - required: false - description: Return values only from specified fields - schema: - type: string - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_get_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - post: - summary: Create a private application - description: Create a private application - operationId: createNPAApps - x-speakeasy-entity-operation: PrivateApp#create - parameters: - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/{private_app_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - delete: - summary: Delete a private application - x-speakeasy-entity-operation: PrivateApp#delete - description: Delete a private application based on private app id - operationId: deleteNPAApps - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - put: - summary: Update a private application - x-speakeasy-entity-operation: PrivateApp#update - description: Update a private application based on private app id - operationId: replaceNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - x-speakeasy-match: id - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - x-speakeasy-terraform-ignore: true - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - patch: - summary: Patch a private application - description: Patch a private application based on private app id - operationId: patchNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - - name: silent - in: query - required: false - description: flag to skip output except status code - schema: - type: string - enum: - - '1' - - '0' - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_put_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - get: - summary: Get a private application - description: Get a private application based on private app id - operationId: getNPAAppsById - parameters: - - name: private_app_id - in: path - required: true - description: private apps id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_apps_private - post: - summary: Retrieve number of policy in use for specified private apps - description: Retrieve number of policy in use for specified private apps - operationId: queryNPAPolicyInUse - x-speakeasy-entity: PrivateAppPolicyUseCount#read - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppPolicyUseCount - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/private_apps_response_400" - /steering/apps/private/tags: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: create tags for private apps - description: Create tags for private apps - operationId: createNPATags - x-speakeasy-entity-operation: PrivateAppTag#create - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - patch: - summary: bulk update tags to associate with specified private apps - description: Bulk update tags to associate with specified private apps - operationId: patchNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: bulk delete tags for specified private apps - description: Bulk delete tags for specified private apps - operationId: deleteNPATags - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - get: - summary: 'Get list of private app tags ' - description: Get list of private app tags - operationId: getNPATags - x-speakeasy-entity-operation: PrivateAppTagList#read - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/{tag_id}: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - get: - summary: Get a private app tag based on tag id - description: Get a private app tag based on tag id - operationId: getNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - put: - summary: Update a private app tag based on tag id - description: Update a private app tag based on tag id - operationId: replaceNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - delete: - summary: Delete a private app tag based on tag id - description: Delete a private app tag based on tag id - operationId: deleteNPATagsById - parameters: - - name: tag_id - in: path - required: true - description: tag id - schema: - type: integer - format: int32 - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_request" - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - error - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/apps/private/tags/getpolicyinuse: - x-netskope-params: - serviceConfig: provisioner-pycore-ws - version: 2 - customerFacing: true - apiGroup: npa_private_tag - post: - summary: Retrieve number of policy in use for specified tags - description: Retrieve number of policy in use for specified tags - operationId: retrieveNPAPoliciesInUse - x-speakeasy-entity-operation: PrivateAppTagPolicyUseList#get - requestBody: - content: - application/json: - schema: - x-speakeasy-entity: PrivateAppTagPolicyUseList - type: object - properties: - ids: - type: array - items: - type: string - required: true - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object - x-speakeasy-entity: PrivateAppTagPolicyUseList - properties: - status: - x-speakeasy-ignore: true - type: string - enum: - - success - - not found - data: - type: array - items: - type: object - properties: - token: - type: string - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/tag_response_400" - /steering/gre/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE points of presence(POPs) list - description: API to get list of GRE POPs. You can filter by parameters. Use one parameter at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getGrePops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE point of presence(POP) - description: API to get GRE POP using id. - operationId: getGrePopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnels list - description: API to get list of GRE tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getGreTunnels - parameters: - - name: site - in: query - required: false - description: GRE tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: GRE tunnel source ip identity - schema: - type: string - - name: pop - in: query - required: false - description: GRE tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: GRE tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: GRE tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: GRE tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: GRE tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - post: - summary: Create GRE tunnel - description: API to create new GRE tunnel. You can pass json body with tunnel details. - operationId: createGreTunnels - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/gre/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: gre - get: - summary: Get GRE tunnel - description: API to get GRE tunnel using id. - operationId: getGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - patch: - summary: Update GRE tunnel - description: API to update GRE tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchGreTunnelsById - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - requestBody: - description: GRE tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - delete: - summary: Delete GRE tunnel - description: API to delete GRE tunnel using id - operationId: deleteGreTunnels - parameters: - - name: id - in: path - required: true - description: GRE tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/gre_response_500" - /steering/ipsec/pops: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec points of presence(POPs) list - description: API to get list of IPSec POPs. You can filter by parameters. Use one of these parameters at a time. Only lat and long should be used together. All parameters are allowed to use offset and limit in combination. - operationId: getIpsecPops - parameters: - - name: name - in: query - required: false - description: POP name - schema: - type: string - - name: region - in: query - required: false - description: POP region, requires ISO-3166 region code and return POPs closest to value - schema: - type: string - - name: country - in: query - required: false - description: POP country, requires ISO-3166 country code and return POPs closest to value - schema: - type: string - - name: lat - in: query - required: false - description: POP latitude, lat requires long in combination and return POPs closest to value - schema: - type: string - - name: long - in: query - required: false - description: POP longitude, long requires lat in combination and return POPs closest to value - schema: - type: string - - name: ip - in: query - required: false - description: POP ipaddress, return POPs closest to value - schema: - type: string - - name: capabilities - in: query - required: false - description: POP capabilities, return POPs capabilities - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the output window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of POPs to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/pops/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec point of presence(POP) - description: API to get IPSec POP using id. - operationId: getIpsecPopsById - parameters: - - name: id - in: path - required: true - description: POP id - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_pop_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnels list - description: API to get list of IPSec tunnels. You can filter by parameters. Use one of these parameters at a time. Only offset and limit are allowed in combination with other parameters - operationId: getIpsecTunnels - parameters: - - name: site - in: query - required: false - description: IPSec tunnel site - schema: - type: string - - name: srcipidentity - in: query - required: false - description: IPSec tunnel source ip identity - schema: - type: string - - name: srcidentity - in: query - required: false - description: IPSec tunnel source identity - schema: - type: string - - name: pop - in: query - required: false - description: IPSec tunnel POP name - schema: - type: string - - name: status - in: query - required: false - description: IPSec tunnel status - schema: - type: string - - name: sourcetype - in: query - required: false - description: IPSec tunnel sourcetype - schema: - type: string - - name: sortby - in: query - required: false - description: IPSec tunnel sortby column - schema: - type: string - - name: sortorder - in: query - required: false - description: IPSec tunnel sortorder asc or desc. Default is asc - schema: - type: string - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - - name: offset - in: query - required: false - description: Offset used to shift the window - schema: - type: integer - default: 0 - minimum: 0 - - name: limit - in: query - required: false - description: Max number of records to retrieve - schema: - type: integer - default: 100 - minimum: 0 - maximum: !!float 100 - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - post: - summary: Create IPSec tunnel - description: API to create new IPSec tunnel. You can pass json body with tunnel details. - operationId: createIpsecTunnels - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_post" - responses: - '201': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_201" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '409': - description: Already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_409" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /steering/ipsec/tunnels/{id}: - x-netskope-params: - serviceConfig: steering - version: 2 - customerFacing: true - apiGroup: ipsec - get: - summary: Get IPSec tunnel - description: API to get IPSec tunnel using id. - operationId: getIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - - name: fields - in: query - required: false - description: Provide comma separated list of fields to be displayed - schema: - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - patch: - summary: Update IPSec tunnel - description: API to update IPSec tunnel using id. You can pass json body with fields that needs to be updated. - operationId: patchIpsecTunnelsById - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - requestBody: - description: IPSec tunnel object - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_tunnel_request_patch" - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_patch_response_200" - '400': - description: Invalid request - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_400" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - delete: - summary: Delete IPSec tunnel - description: API to delete IPSec tunnel using id - operationId: deleteIpsecTunnels - parameters: - - name: id - in: path - required: true - description: IPSec tunnel id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_200" - '403': - description: Access forbidden - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_403" - '404': - description: Not found - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_404" - '405': - description: Method not allowed - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_405" - '429': - description: Too many requests - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_429" - '500': - description: Internal server error - content: - application/json: - schema: - "$ref": "#/components/schemas/ipsec_response_500" - /Users: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_users - summary: Creation of a SCIM User - x-speakeasy-entity-operation: SCIMUsers#create - description: Creation of a SCIM User. - operationId: createSCIMUsers - requestBody: - description: user to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_users - summary: Get Scim Users - description: Query for all the SCIM Users or filtered users. - x-speakeasy-entity-operations: SCIMUsers#get - operationId: getSCIMUsers - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like userName(Nothing but UPN), externalId(scim_externalid) and pass the value to be searched for the key passed. Example: userName eq "upn1" OR externalId eq "User-Ext_id" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfully added/overwritten the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Users/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_users - summary: Replace existing SCIM record for {id} - description: Replace existing SCIM record for {id} - x-speakeasy-ignore: true - operationId: putSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: user to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_users - summary: Get the Scim User - description: Getting the user with specific id.. - operationId: getSCIMUsersById - x-speakeasy-entity-operation: SCIMUsers#get - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_users - summary: Update existing SCIM User record by {id} - description: Update existing SCIM User record by {id} - x-speakeasy-entity-operation: SCIMUsers#update - operationId: updateSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributes to be modified. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - delete: - tags: - - scim_users - summary: Delete SCIM User record by {id} - description: Delete SCIM User record by {id}. - x-speakeasy-entity-operation: SCIMUsers#delete - operationId: deleteSCIMUsers - parameters: - - name: id - description: SCIM User ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted the User. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error - /Groups: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - post: - tags: - - scim_groups - summary: Create new SCIM Group - description: Create new SCIM Group - x-speakeasy-entity-operation: SCIMGroups#create - operationId: createSCIMGroups - requestBody: - description: group to add - content: - schema: {} - responses: - "201": - description: Successfully added the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request, Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal server error. - get: - tags: - - scim_groups - summary: Get SCIM Groups - description: Query for all the SCIM groups or filtered groups. - x-speakeasy-entity-operation: SCIMGroups#get - operationId: getSCIMGroups - parameters: - - name: filter - required: false - in: query - description: 'key eq value pair like - displayName/externalId and pass the value to be searched for the key passed. Example: displayName eq "sample_Group1" ' - schema: - type: string - - name: startIndex - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - - name: count - required: false - in: query - schema: - description: StartIndex & count should be passed together - type: integer - responses: - "200": - description: Successfull. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - /Groups/{id}: - x-netskope-params: - serviceConfig: nsscimserver - version: 2 - customerFacing: true - apiGroup: scim-apis - put: - tags: - - scim_groups - summary: Replace existing SCIM Group for {id} - description: Replace existing SCIM Group for {id} - x-speakeasy-ignore: true - operationId: putSCIMGroupsById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: group to update - content: - schema: {} - responses: - "200": - description: Successfully updated the User. - content: - schema: {} - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request. - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - get: - tags: - - scim_groups - summary: Get SCIM Group by {id} - description: Get SCIM Group by {id} - x-speakeasy-entity-operation: SCIMGroupsById#get - operationId: getSCIMGroupsById - parameters: - - name: id - description: SCIM Group ID required. - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "200": - description: Successfully deleted the User. - content: - schema: {} - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - patch: - tags: - - scim_groups - summary: Update existing SCIM Group record by {id}. - description: Updating attribute in existing group with the id. - x-speakeasy-entity-operation: SCIMGroups#update - operationId: patchSCIMUsersById - parameters: - - name: id - description: SCIM Used ID should be specified - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - requestBody: - description: attributed to be added. - content: - schema: {} - responses: - "204": - description: Empty response. - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request / Primary Email not provided / UserName not provided / Not a valid json format / Mandatory fields are missing - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. - delete: - tags: - - scim_groups - summary: Delete SCIM Group record by {id} - description: Delete SCIM Group record by {id} - x-speakeasy-entity-operation: SCIMGroups#delete - operationId: deleteSCIMUsersById - parameters: - - name: id - description: SCIM Group ID required - required: true - in: path - schema: - type: string - example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - responses: - "204": - description: Empty response, Successfully deleted Group - "400": - description: 'Failed ' - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - "400" - - failed - example: "400" - description: - type: string - example: Invalid request - schemas: - type: array - description: schema of the resource - items: - type: string - example: - - urn:ietf:params:scim:api:messages:2.0:Error - "403": - description: Not authorized to execte the specific API. - content: - application/json: - schema: - type: object - properties: - message: - type: string - example: You cannot consume this service. - "501": - description: Internal error Failed - content: - application/json: - schema: - type: object - properties: - status: - type: string - enum: - - failed - - "501" - example: 501/failed - schemas: - type: string - example: '["urn:ietf:params:scim:api:messages:2.0:Error"]' - detail: - type: string - example: Internal error. -tags: - - name: scim_users - description: CRUD for SCIM Users Infrormation. - - name: scim_groups - description: CRUD for SCIM Groups Infrormation diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock new file mode 100644 index 0000000..dd7a670 --- /dev/null +++ b/.speakeasy/workflow.lock @@ -0,0 +1,25 @@ +speakeasyVersion: 1.264.1 +sources: {} +targets: {} +workflow: + workflowVersion: 1.0.0 + speakeasyVersion: latest + sources: + openapi: + inputs: + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/base_oas.yaml + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/endpoints/infrastructure/npa_publisher.yaml + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/endpoints/infrastructure/npa_upgrade_profiles.yaml + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/endpoints/policy/npa_policy.yaml + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/endpoints/policy/npa_policygroup.yaml + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/endpoints/steering/npa_apps_private.yaml + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/endpoints/steering/npa_private_tag.yaml + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/endpoints/steering/gre.yaml + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/endpoints/steering/ipsec.yaml + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/endpoints/scim/scim-apis.yaml + overlays: + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/terraform_overlay.yaml + targets: + first-target: + target: terraform + source: openapi diff --git a/.speakeasy/workflow.yaml b/.speakeasy/workflow.yaml index 2965ae5..fa78197 100644 --- a/.speakeasy/workflow.yaml +++ b/.speakeasy/workflow.yaml @@ -1,22 +1,21 @@ workflowVersion: 1.0.0 +speakeasyVersion: latest sources: openapi: inputs: - - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/base_oas.yaml - - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/infrastructure/npa_publisher.yaml - - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/infrastructure/npa_upgrade_profiles.yaml - - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/policy/npa_policy.yaml - - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/policy/npa_policygroup.yaml - - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/steering/npa_apps_private.yaml - - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/steering/npa_private_tag.yaml - - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/steering/gre.yaml - - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/steering/ipsec.yaml - - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/endpoints/scim/scim-apis.yaml + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/base_oas.yaml + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/endpoints/infrastructure/npa_publisher.yaml + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/endpoints/infrastructure/npa_upgrade_profiles.yaml + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/endpoints/policy/npa_policy.yaml + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/endpoints/policy/npa_policygroup.yaml + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/endpoints/steering/npa_apps_private.yaml + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/endpoints/steering/npa_private_tag.yaml + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/endpoints/steering/gre.yaml + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/endpoints/steering/ipsec.yaml + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/endpoints/scim/scim-apis.yaml overlays: - - location: /Users/justinadrian/speakeasy/netskope-apiv2-oas/terraform_overlay.yaml + - location: /Users/jadrian/speakeasy/netskope-apiv2-oas/terraform_overlay.yaml targets: first-target: target: terraform source: openapi - codeSamples: - output: code_snip.yaml diff --git a/README.md b/README.md index 24c4757..7f2324f 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ terraform { required_providers { terraform = { source = "speakeasy/terraform" - version = "0.2.2" + version = "0.3.0" } } } diff --git a/examples/provider/provider.tf b/examples/provider/provider.tf index 81b62ee..ba0a9f7 100644 --- a/examples/provider/provider.tf +++ b/examples/provider/provider.tf @@ -2,7 +2,7 @@ terraform { required_providers { terraform = { source = "speakeasy/terraform" - version = "0.2.2" + version = "0.3.0" } } } diff --git a/go.mod b/go.mod index 638f46f..658df13 100644 --- a/go.mod +++ b/go.mod @@ -4,63 +4,10 @@ go 1.20 require ( github.com/cenkalti/backoff/v4 v4.2.0 - github.com/ericlagergren/decimal v0.0.0-20221120152707-495c53812d05 - github.com/hashicorp/terraform-plugin-framework v1.3.5 - github.com/hashicorp/terraform-plugin-go v0.18.0 - github.com/spyzhov/ajson v0.9.0 -) - -require ( - 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/apparentlymart/go-textseg/v13 v13.0.0 // indirect - github.com/armon/go-radix v1.0.0 // indirect - github.com/bgentry/speakeasy v0.1.0 // indirect - github.com/fatih/color v1.13.0 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/uuid v1.3.0 // 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-hclog v1.5.0 // indirect - github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/go-plugin v1.4.10 // indirect - github.com/hashicorp/go-uuid v1.0.3 // indirect - github.com/hashicorp/go-version v1.6.0 // indirect - github.com/hashicorp/hc-install v0.4.0 // indirect - github.com/hashicorp/terraform-exec v0.17.2 // indirect - github.com/hashicorp/terraform-json v0.14.0 // indirect - github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect - github.com/hashicorp/terraform-registry-address v0.2.1 // indirect - github.com/hashicorp/terraform-svchost v0.1.1 // indirect - github.com/huandu/xstrings v1.3.2 // indirect - github.com/imdario/mergo v0.3.13 // indirect - github.com/mattn/go-colorable v0.1.12 // indirect - github.com/mattn/go-isatty v0.0.14 // indirect - github.com/mitchellh/cli v1.1.4 // indirect - github.com/mitchellh/copystructure v1.2.0 // indirect - github.com/mitchellh/go-testing-interface v1.14.1 // indirect - github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/oklog/run v1.0.0 // indirect - github.com/posener/complete v1.2.3 // indirect - github.com/russross/blackfriday v1.6.0 // indirect - github.com/shopspring/decimal v1.3.1 // indirect - github.com/spf13/cast v1.5.0 // indirect - github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect - github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - github.com/zclconf/go-cty v1.13.1 // indirect - golang.org/x/crypto v0.10.0 // indirect - golang.org/x/net v0.11.0 // indirect - golang.org/x/sys v0.9.0 // indirect - golang.org/x/text v0.10.0 // indirect - google.golang.org/grpc v1.56.1 // indirect - google.golang.org/protobuf v1.31.0 // indirect -) - -require ( - github.com/hashicorp/terraform-plugin-docs v0.13.0 - github.com/hashicorp/terraform-plugin-framework-validators v0.10.0 - github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d // indirect - google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect + github.com/ericlagergren/decimal v0.0.0-20221120152707-495c53812d05 + github.com/hashicorp/terraform-plugin-docs v0.13.0 + github.com/hashicorp/terraform-plugin-framework v1.7.0 + github.com/hashicorp/terraform-plugin-framework-validators v0.10.0 + github.com/hashicorp/terraform-plugin-go v0.18.0 + github.com/spyzhov/ajson v0.9.0 ) diff --git a/internal/provider/npapolicy_data_source.go b/internal/provider/npapolicy_data_source.go index 479f988..934d2fd 100644 --- a/internal/provider/npapolicy_data_source.go +++ b/internal/provider/npapolicy_data_source.go @@ -232,6 +232,10 @@ func (r *NPAPolicyDataSource) Read(ctx context.Context, req datasource.ReadReque resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/npapolicy_resource.go b/internal/provider/npapolicy_resource.go index 62bf51e..40fd66b 100644 --- a/internal/provider/npapolicy_resource.go +++ b/internal/provider/npapolicy_resource.go @@ -36,9 +36,9 @@ type NPAPolicyResourceModel struct { Enabled types.String `tfsdk:"enabled"` GroupName types.String `tfsdk:"group_name"` RuleData *tfTypes.NpaPolicyRuleData `tfsdk:"rule_data"` + RuleID types.String `tfsdk:"rule_id"` RuleName types.String `tfsdk:"rule_name"` RuleOrder *tfTypes.RuleOrder `tfsdk:"rule_order"` - RuleID types.String `tfsdk:"rule_id"` } func (r *NPAPolicyResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) { @@ -48,7 +48,6 @@ func (r *NPAPolicyResource) Metadata(ctx context.Context, req resource.MetadataR func (r *NPAPolicyResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ MarkdownDescription: "NPAPolicy Resource", - Attributes: map[string]schema.Attribute{ "description": schema.StringAttribute{ Optional: true, @@ -232,6 +231,10 @@ func (r *NPAPolicyResource) Schema(ctx context.Context, req resource.SchemaReque }, }, }, + "rule_id": schema.StringAttribute{ + Computed: true, + Description: `npa policy id`, + }, "rule_name": schema.StringAttribute{ Computed: true, Optional: true, @@ -262,10 +265,6 @@ func (r *NPAPolicyResource) Schema(ctx context.Context, req resource.SchemaReque }, }, }, - "rule_id": schema.StringAttribute{ - Computed: true, - Description: `npa policy id`, - }, }, } } @@ -396,6 +395,10 @@ func (r *NPAPolicyResource) Read(ctx context.Context, req resource.ReadRequest, resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/npapolicy_resource_sdk.go b/internal/provider/npapolicy_resource_sdk.go index 96a9c96..26ff9bb 100644 --- a/internal/provider/npapolicy_resource_sdk.go +++ b/internal/provider/npapolicy_resource_sdk.go @@ -23,15 +23,15 @@ func (r *NPAPolicyResourceModel) ToSharedNpaPolicyRequest() *shared.NpaPolicyReq } var ruleData *shared.NpaPolicyRuleData if r.RuleData != nil { - var users []string = nil + var users []string = []string{} for _, usersItem := range r.RuleData.Users { users = append(users, usersItem.ValueString()) } - var userGroups []string = nil + var userGroups []string = []string{} for _, userGroupsItem := range r.RuleData.UserGroups { userGroups = append(userGroups, userGroupsItem.ValueString()) } - var organizationUnits []string = nil + var organizationUnits []string = []string{} for _, organizationUnitsItem := range r.RuleData.OrganizationUnits { organizationUnits = append(organizationUnits, organizationUnitsItem.ValueString()) } @@ -41,7 +41,7 @@ func (r *NPAPolicyResourceModel) ToSharedNpaPolicyRequest() *shared.NpaPolicyReq } else { userType = nil } - var accessMethod []string = nil + var accessMethod []string = []string{} for _, accessMethodItem := range r.RuleData.AccessMethod { accessMethod = append(accessMethod, accessMethodItem.ValueString()) } @@ -51,23 +51,23 @@ func (r *NPAPolicyResourceModel) ToSharedNpaPolicyRequest() *shared.NpaPolicyReq } else { policyType = nil } - var privateApps []string = nil + var privateApps []string = []string{} for _, privateAppsItem := range r.RuleData.PrivateApps { privateApps = append(privateApps, privateAppsItem.ValueString()) } - var privateAppIds []string = nil + var privateAppIds []string = []string{} for _, privateAppIdsItem := range r.RuleData.PrivateAppIds { privateAppIds = append(privateAppIds, privateAppIdsItem.ValueString()) } - var privateAppTags []string = nil + var privateAppTags []string = []string{} for _, privateAppTagsItem := range r.RuleData.PrivateAppTags { privateAppTags = append(privateAppTags, privateAppTagsItem.ValueString()) } - var privateAppTagIds []string = nil + var privateAppTagIds []string = []string{} for _, privateAppTagIdsItem := range r.RuleData.PrivateAppTagIds { privateAppTagIds = append(privateAppTagIds, privateAppTagIdsItem.ValueString()) } - var privateAppsWithActivities []shared.PrivateAppsWithActivities = nil + var privateAppsWithActivities []shared.PrivateAppsWithActivities = []shared.PrivateAppsWithActivities{} for _, privateAppsWithActivitiesItem := range r.RuleData.PrivateAppsWithActivities { appName := new(string) if !privateAppsWithActivitiesItem.AppName.IsUnknown() && !privateAppsWithActivitiesItem.AppName.IsNull() { @@ -75,7 +75,7 @@ func (r *NPAPolicyResourceModel) ToSharedNpaPolicyRequest() *shared.NpaPolicyReq } else { appName = nil } - var activities []shared.Activities = nil + var activities []shared.Activities = []shared.Activities{} for _, activitiesItem := range privateAppsWithActivitiesItem.Activities { activity := new(shared.Activity) if !activitiesItem.Activity.IsUnknown() && !activitiesItem.Activity.IsNull() { @@ -83,7 +83,7 @@ func (r *NPAPolicyResourceModel) ToSharedNpaPolicyRequest() *shared.NpaPolicyReq } else { activity = nil } - var listOfConstraints []string = nil + var listOfConstraints []string = []string{} for _, listOfConstraintsItem := range activitiesItem.ListOfConstraints { listOfConstraints = append(listOfConstraints, listOfConstraintsItem.ValueString()) } @@ -127,7 +127,7 @@ func (r *NPAPolicyResourceModel) ToSharedNpaPolicyRequest() *shared.NpaPolicyReq } else { externalDlp = nil } - var netLocationObj []string = nil + var netLocationObj []string = []string{} for _, netLocationObjItem := range r.RuleData.NetLocationObj { netLocationObj = append(netLocationObj, netLocationObjItem.ValueString()) } @@ -137,7 +137,7 @@ func (r *NPAPolicyResourceModel) ToSharedNpaPolicyRequest() *shared.NpaPolicyReq } else { bNegateNetLocation = nil } - var srcCountries []string = nil + var srcCountries []string = []string{} for _, srcCountriesItem := range r.RuleData.SrcCountries { srcCountries = append(srcCountries, srcCountriesItem.ValueString()) } @@ -159,7 +159,7 @@ func (r *NPAPolicyResourceModel) ToSharedNpaPolicyRequest() *shared.NpaPolicyReq } else { version = nil } - var dlpActions []shared.NpaPolicyRuleDlp = nil + var dlpActions []shared.NpaPolicyRuleDlp = []shared.NpaPolicyRuleDlp{} for _, dlpActionsItem := range r.RuleData.DlpActions { dlpProfile := new(string) if !dlpActionsItem.DlpProfile.IsUnknown() && !dlpActionsItem.DlpProfile.IsNull() { @@ -167,7 +167,7 @@ func (r *NPAPolicyResourceModel) ToSharedNpaPolicyRequest() *shared.NpaPolicyReq } else { dlpProfile = nil } - var actions []shared.Actions = nil + var actions []shared.Actions = []shared.Actions{} for _, actionsItem := range dlpActionsItem.Actions { actions = append(actions, shared.Actions(actionsItem.ValueString())) } diff --git a/internal/provider/npapolicygroup_data_source.go b/internal/provider/npapolicygroup_data_source.go index e0d099c..6473ce6 100644 --- a/internal/provider/npapolicygroup_data_source.go +++ b/internal/provider/npapolicygroup_data_source.go @@ -132,6 +132,10 @@ func (r *NPAPolicyGroupDataSource) Read(ctx context.Context, req datasource.Read resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/npapolicygroup_resource.go b/internal/provider/npapolicygroup_resource.go index c330372..7498594 100644 --- a/internal/provider/npapolicygroup_resource.go +++ b/internal/provider/npapolicygroup_resource.go @@ -54,7 +54,6 @@ func (r *NPAPolicyGroupResource) Metadata(ctx context.Context, req resource.Meta func (r *NPAPolicyGroupResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ MarkdownDescription: "NPAPolicyGroup Resource", - Attributes: map[string]schema.Attribute{ "can_be_edited_deleted": schema.StringAttribute{ Computed: true, @@ -248,6 +247,10 @@ func (r *NPAPolicyGroupResource) Read(ctx context.Context, req resource.ReadRequ resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/npapolicylist_data_source.go b/internal/provider/npapolicylist_data_source.go index 7cf45a1..76f013e 100644 --- a/internal/provider/npapolicylist_data_source.go +++ b/internal/provider/npapolicylist_data_source.go @@ -294,6 +294,10 @@ func (r *NPAPolicyListDataSource) Read(ctx context.Context, req datasource.ReadR resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/npapublishers_data_source.go b/internal/provider/npapublishers_data_source.go index 93827de..e20ce32 100644 --- a/internal/provider/npapublishers_data_source.go +++ b/internal/provider/npapublishers_data_source.go @@ -153,6 +153,10 @@ func (r *NPAPublishersDataSource) Read(ctx context.Context, req datasource.ReadR resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/npapublishers_resource.go b/internal/provider/npapublishers_resource.go index 4332efa..5fd0ceb 100644 --- a/internal/provider/npapublishers_resource.go +++ b/internal/provider/npapublishers_resource.go @@ -59,7 +59,6 @@ func (r *NPAPublishersResource) Metadata(ctx context.Context, req resource.Metad func (r *NPAPublishersResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ MarkdownDescription: "NPAPublishers Resource", - Attributes: map[string]schema.Attribute{ "assessment": schema.StringAttribute{ Computed: true, @@ -124,8 +123,10 @@ func (r *NPAPublishersResource) Schema(ctx context.Context, req resource.SchemaR Computed: true, }, "tag_name": schema.StringAttribute{ - Computed: true, - Optional: true, + Computed: true, + Optional: true, + Default: stringdefault.StaticString("tag_name"), + Description: `Default: "tag_name"`, }, }, }, @@ -263,6 +264,10 @@ func (r *NPAPublishersResource) Read(ctx context.Context, req resource.ReadReque resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/npapublishers_resource_sdk.go b/internal/provider/npapublishers_resource_sdk.go index bdf4081..6d447de 100644 --- a/internal/provider/npapublishers_resource_sdk.go +++ b/internal/provider/npapublishers_resource_sdk.go @@ -22,7 +22,7 @@ func (r *NPAPublishersResourceModel) ToSharedPublisherPostRequest() *shared.Publ } else { lbrokerconnect = nil } - var tags []shared.TagItemNoID = nil + var tags []shared.TagItemNoID = []shared.TagItemNoID{} for _, tagsItem := range r.Tags { tagName := new(string) if !tagsItem.TagName.IsUnknown() && !tagsItem.TagName.IsNull() { @@ -121,7 +121,7 @@ func (r *NPAPublishersResourceModel) ToSharedPublisherPutRequest() *shared.Publi } else { lbrokerconnect = nil } - var tags []shared.TagItem = nil + var tags []shared.TagItem = []shared.TagItem{} for _, tagsItem := range r.Tags { tagName := new(string) if !tagsItem.TagName.IsUnknown() && !tagsItem.TagName.IsNull() { diff --git a/internal/provider/npapublishersalertsconfiguration_data_source.go b/internal/provider/npapublishersalertsconfiguration_data_source.go index 7b68315..3cab929 100644 --- a/internal/provider/npapublishersalertsconfiguration_data_source.go +++ b/internal/provider/npapublishersalertsconfiguration_data_source.go @@ -108,6 +108,10 @@ func (r *NPAPublishersAlertsConfigurationDataSource) Read(ctx context.Context, r resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/npapublishersalertsconfiguration_resource.go b/internal/provider/npapublishersalertsconfiguration_resource.go index db5c82e..dd9d48a 100644 --- a/internal/provider/npapublishersalertsconfiguration_resource.go +++ b/internal/provider/npapublishersalertsconfiguration_resource.go @@ -41,7 +41,6 @@ func (r *NPAPublishersAlertsConfigurationResource) Metadata(ctx context.Context, func (r *NPAPublishersAlertsConfigurationResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ MarkdownDescription: "NPAPublishersAlertsConfiguration Resource", - Attributes: map[string]schema.Attribute{ "admin_users": schema.ListAttribute{ Computed: true, @@ -160,6 +159,10 @@ func (r *NPAPublishersAlertsConfigurationResource) Read(ctx context.Context, req resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/npapublishersalertsconfiguration_resource_sdk.go b/internal/provider/npapublishersalertsconfiguration_resource_sdk.go index 9bf9f63..6d777d4 100644 --- a/internal/provider/npapublishersalertsconfiguration_resource_sdk.go +++ b/internal/provider/npapublishersalertsconfiguration_resource_sdk.go @@ -8,11 +8,11 @@ import ( ) func (r *NPAPublishersAlertsConfigurationResourceModel) ToSharedPublishersAlertPutRequest() *shared.PublishersAlertPutRequest { - var adminUsers []string = nil + var adminUsers []string = []string{} for _, adminUsersItem := range r.AdminUsers { adminUsers = append(adminUsers, adminUsersItem.ValueString()) } - var eventTypes []shared.EventTypes = nil + var eventTypes []shared.EventTypes = []shared.EventTypes{} for _, eventTypesItem := range r.EventTypes { eventTypes = append(eventTypes, shared.EventTypes(eventTypesItem.ValueString())) } diff --git a/internal/provider/npapublishersappslist_data_source.go b/internal/provider/npapublishersappslist_data_source.go index 7df4e8f..7bf0ac1 100644 --- a/internal/provider/npapublishersappslist_data_source.go +++ b/internal/provider/npapublishersappslist_data_source.go @@ -65,9 +65,15 @@ func (r *NPAPublishersAppsListDataSource) Schema(ctx context.Context, req dataso Computed: true, NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ + "id": schema.Int64Attribute{ + Computed: true, + }, "port": schema.StringAttribute{ Computed: true, }, + "service_id": schema.Int64Attribute{ + Computed: true, + }, "transport": schema.StringAttribute{ Computed: true, }, @@ -195,6 +201,10 @@ func (r *NPAPublishersAppsListDataSource) Read(ctx context.Context, req datasour resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/npapublishersappslist_data_source_sdk.go b/internal/provider/npapublishersappslist_data_source_sdk.go index 6afa16e..9448abd 100644 --- a/internal/provider/npapublishersappslist_data_source_sdk.go +++ b/internal/provider/npapublishersappslist_data_source_sdk.go @@ -25,12 +25,24 @@ func (r *NPAPublishersAppsListDataSourceModel) RefreshFromSharedPublisherAppsLis data1.Name = types.StringPointerValue(dataItem.Name) for protocolsCount, protocolsItem := range dataItem.Protocols { var protocols1 tfTypes.ProtocolResponseItem + if protocolsItem.ID != nil { + protocols1.ID = types.Int64Value(int64(*protocolsItem.ID)) + } else { + protocols1.ID = types.Int64Null() + } protocols1.Port = types.StringPointerValue(protocolsItem.Port) + if protocolsItem.ServiceID != nil { + protocols1.ServiceID = types.Int64Value(int64(*protocolsItem.ServiceID)) + } else { + protocols1.ServiceID = types.Int64Null() + } protocols1.Transport = types.StringPointerValue(protocolsItem.Transport) if protocolsCount+1 > len(data1.Protocols) { data1.Protocols = append(data1.Protocols, protocols1) } else { + data1.Protocols[protocolsCount].ID = protocols1.ID data1.Protocols[protocolsCount].Port = protocols1.Port + data1.Protocols[protocolsCount].ServiceID = protocols1.ServiceID data1.Protocols[protocolsCount].Transport = protocols1.Transport } } diff --git a/internal/provider/npapublishersbulkupgrade_resource.go b/internal/provider/npapublishersbulkupgrade_resource.go index 3e15bd8..9703b35 100644 --- a/internal/provider/npapublishersbulkupgrade_resource.go +++ b/internal/provider/npapublishersbulkupgrade_resource.go @@ -47,7 +47,6 @@ func (r *NPAPublishersBulkUpgradeResource) Metadata(ctx context.Context, req res func (r *NPAPublishersBulkUpgradeResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ MarkdownDescription: "NPAPublishersBulkUpgrade Resource", - Attributes: map[string]schema.Attribute{ "data": schema.ListNestedAttribute{ Computed: true, diff --git a/internal/provider/npapublishersbulkupgrade_resource_sdk.go b/internal/provider/npapublishersbulkupgrade_resource_sdk.go index 1834b6b..72c137e 100644 --- a/internal/provider/npapublishersbulkupgrade_resource_sdk.go +++ b/internal/provider/npapublishersbulkupgrade_resource_sdk.go @@ -11,7 +11,7 @@ import ( func (r *NPAPublishersBulkUpgradeResourceModel) ToSharedPublisherBulkRequest() *shared.PublisherBulkRequest { var publishers *shared.Publishers if r.Publishers != nil { - var id []string = nil + var id []string = []string{} for _, idItem := range r.Publishers.ID { id = append(id, idItem.ValueString()) } diff --git a/internal/provider/npapublisherslist_data_source.go b/internal/provider/npapublisherslist_data_source.go index 0ed624e..0d13043 100644 --- a/internal/provider/npapublisherslist_data_source.go +++ b/internal/provider/npapublisherslist_data_source.go @@ -235,6 +235,10 @@ func (r *NPAPublishersListDataSource) Read(ctx context.Context, req datasource.R resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/npapublishersreleaseslist_data_source.go b/internal/provider/npapublishersreleaseslist_data_source.go index e362a31..acb784c 100644 --- a/internal/provider/npapublishersreleaseslist_data_source.go +++ b/internal/provider/npapublishersreleaseslist_data_source.go @@ -132,6 +132,10 @@ func (r *NPAPublishersReleasesListDataSource) Read(ctx context.Context, req data resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/npapublisherupgradeprofile_data_source.go b/internal/provider/npapublisherupgradeprofile_data_source.go index ed5576c..9a1a768 100644 --- a/internal/provider/npapublisherupgradeprofile_data_source.go +++ b/internal/provider/npapublisherupgradeprofile_data_source.go @@ -128,6 +128,10 @@ func (r *NPAPublisherUpgradeProfileDataSource) Read(ctx context.Context, req dat resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/npapublisherupgradeprofile_resource.go b/internal/provider/npapublisherupgradeprofile_resource.go index a467a07..1b69d37 100644 --- a/internal/provider/npapublisherupgradeprofile_resource.go +++ b/internal/provider/npapublisherupgradeprofile_resource.go @@ -51,7 +51,6 @@ func (r *NPAPublisherUpgradeProfileResource) Metadata(ctx context.Context, req r func (r *NPAPublisherUpgradeProfileResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ MarkdownDescription: "NPAPublisherUpgradeProfile Resource", - Attributes: map[string]schema.Attribute{ "docker_tag": schema.StringAttribute{ Computed: true, @@ -224,6 +223,10 @@ func (r *NPAPublisherUpgradeProfileResource) Read(ctx context.Context, req resou resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/npapublisherupgradeprofilelist_data_source.go b/internal/provider/npapublisherupgradeprofilelist_data_source.go index b24a1d2..3d08486 100644 --- a/internal/provider/npapublisherupgradeprofilelist_data_source.go +++ b/internal/provider/npapublisherupgradeprofilelist_data_source.go @@ -156,6 +156,10 @@ func (r *NPAPublisherUpgradeProfileListDataSource) Read(ctx context.Context, req resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/policygrouplist_data_source.go b/internal/provider/policygrouplist_data_source.go index d02be8b..4456a2c 100644 --- a/internal/provider/policygrouplist_data_source.go +++ b/internal/provider/policygrouplist_data_source.go @@ -190,6 +190,10 @@ func (r *PolicyGroupListDataSource) Read(ctx context.Context, req datasource.Rea resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/privateapp_resource.go b/internal/provider/privateapp_resource.go index c134734..0cc7241 100644 --- a/internal/provider/privateapp_resource.go +++ b/internal/provider/privateapp_resource.go @@ -7,6 +7,7 @@ import ( "fmt" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringdefault" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-framework/types/basetypes" tfTypes "github.com/speakeasy/terraform-provider-terraform/internal/provider/types" @@ -35,8 +36,8 @@ type PrivateAppResourceModel struct { ID types.Int64 `tfsdk:"id"` Name types.String `tfsdk:"name"` Protocols []tfTypes.ProtocolItem `tfsdk:"protocols"` - Publishers []tfTypes.PublisherItem `tfsdk:"publishers"` PublisherTags []tfTypes.TagItemNoID `tfsdk:"publisher_tags"` + Publishers []tfTypes.PublisherItem `tfsdk:"publishers"` RealHost types.String `tfsdk:"real_host"` ResolvedProtocols []tfTypes.ProtocolResponseItem `tfsdk:"resolved_protocols"` ServicePublisherAssignments []tfTypes.ServicePublisherAssignmentItem `tfsdk:"service_publisher_assignments"` @@ -52,7 +53,6 @@ func (r *PrivateAppResource) Metadata(ctx context.Context, req resource.Metadata func (r *PrivateAppResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ MarkdownDescription: "PrivateApp Resource", - Attributes: map[string]schema.Attribute{ "app_name": schema.StringAttribute{ Optional: true, @@ -85,24 +85,27 @@ func (r *PrivateAppResource) Schema(ctx context.Context, req resource.SchemaRequ }, }, }, - "publishers": schema.ListNestedAttribute{ + "publisher_tags": schema.ListNestedAttribute{ Optional: true, NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ - "publisher_id": schema.StringAttribute{ - Optional: true, - }, - "publisher_name": schema.StringAttribute{ - Optional: true, + "tag_name": schema.StringAttribute{ + Computed: true, + Optional: true, + Default: stringdefault.StaticString("tag_name"), + Description: `Default: "tag_name"`, }, }, }, }, - "publisher_tags": schema.ListNestedAttribute{ + "publishers": schema.ListNestedAttribute{ Optional: true, NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ - "tag_name": schema.StringAttribute{ + "publisher_id": schema.StringAttribute{ + Optional: true, + }, + "publisher_name": schema.StringAttribute{ Optional: true, }, }, @@ -116,9 +119,15 @@ func (r *PrivateAppResource) Schema(ctx context.Context, req resource.SchemaRequ Computed: true, NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ + "id": schema.Int64Attribute{ + Computed: true, + }, "port": schema.StringAttribute{ Computed: true, }, + "service_id": schema.Int64Attribute{ + Computed: true, + }, "transport": schema.StringAttribute{ Computed: true, }, @@ -164,8 +173,10 @@ func (r *PrivateAppResource) Schema(ctx context.Context, req resource.SchemaRequ Computed: true, }, "tag_name": schema.StringAttribute{ - Computed: true, - Optional: true, + Computed: true, + Optional: true, + Default: stringdefault.StaticString("tag_name"), + Description: `Default: "tag_name"`, }, }, }, diff --git a/internal/provider/privateapp_resource_sdk.go b/internal/provider/privateapp_resource_sdk.go index 8dc6f67..c286c03 100644 --- a/internal/provider/privateapp_resource_sdk.go +++ b/internal/provider/privateapp_resource_sdk.go @@ -27,7 +27,7 @@ func (r *PrivateAppResourceModel) ToSharedPrivateAppsRequest() *shared.PrivateAp } else { realHost = nil } - var protocols []shared.ProtocolItem = nil + var protocols []shared.ProtocolItem = []shared.ProtocolItem{} for _, protocolsItem := range r.Protocols { typeVar := new(string) if !protocolsItem.Type.IsUnknown() && !protocolsItem.Type.IsNull() { @@ -46,7 +46,7 @@ func (r *PrivateAppResourceModel) ToSharedPrivateAppsRequest() *shared.PrivateAp Port: port, }) } - var publishers []shared.PublisherItem = nil + var publishers []shared.PublisherItem = []shared.PublisherItem{} for _, publishersItem := range r.Publishers { publisherID := new(string) if !publishersItem.PublisherID.IsUnknown() && !publishersItem.PublisherID.IsNull() { @@ -65,7 +65,7 @@ func (r *PrivateAppResourceModel) ToSharedPrivateAppsRequest() *shared.PrivateAp PublisherName: publisherName, }) } - var publisherTags []shared.TagItemNoID = nil + var publisherTags []shared.TagItemNoID = []shared.TagItemNoID{} for _, publisherTagsItem := range r.PublisherTags { tagName := new(string) if !publisherTagsItem.TagName.IsUnknown() && !publisherTagsItem.TagName.IsNull() { @@ -77,7 +77,7 @@ func (r *PrivateAppResourceModel) ToSharedPrivateAppsRequest() *shared.PrivateAp TagName: tagName, }) } - var tags []shared.TagItemNoID = nil + var tags []shared.TagItemNoID = []shared.TagItemNoID{} for _, tagsItem := range r.Tags { tagName1 := new(string) if !tagsItem.TagName.IsUnknown() && !tagsItem.TagName.IsNull() { @@ -138,12 +138,24 @@ func (r *PrivateAppResourceModel) RefreshFromSharedPrivateAppsResponseData(resp } for resolvedProtocolsCount, resolvedProtocolsItem := range resp.ResolvedProtocols { var resolvedProtocols1 tfTypes.ProtocolResponseItem + if resolvedProtocolsItem.ID != nil { + resolvedProtocols1.ID = types.Int64Value(int64(*resolvedProtocolsItem.ID)) + } else { + resolvedProtocols1.ID = types.Int64Null() + } resolvedProtocols1.Port = types.StringPointerValue(resolvedProtocolsItem.Port) + if resolvedProtocolsItem.ServiceID != nil { + resolvedProtocols1.ServiceID = types.Int64Value(int64(*resolvedProtocolsItem.ServiceID)) + } else { + resolvedProtocols1.ServiceID = types.Int64Null() + } resolvedProtocols1.Transport = types.StringPointerValue(resolvedProtocolsItem.Transport) if resolvedProtocolsCount+1 > len(r.ResolvedProtocols) { r.ResolvedProtocols = append(r.ResolvedProtocols, resolvedProtocols1) } else { + r.ResolvedProtocols[resolvedProtocolsCount].ID = resolvedProtocols1.ID r.ResolvedProtocols[resolvedProtocolsCount].Port = resolvedProtocols1.Port + r.ResolvedProtocols[resolvedProtocolsCount].ServiceID = resolvedProtocols1.ServiceID r.ResolvedProtocols[resolvedProtocolsCount].Transport = resolvedProtocols1.Transport } } @@ -232,7 +244,7 @@ func (r *PrivateAppResourceModel) ToSharedPrivateAppsPutRequest() *shared.Privat } else { realHost = nil } - var protocols []shared.ProtocolItem = nil + var protocols []shared.ProtocolItem = []shared.ProtocolItem{} for _, protocolsItem := range r.Protocols { typeVar := new(string) if !protocolsItem.Type.IsUnknown() && !protocolsItem.Type.IsNull() { @@ -251,7 +263,7 @@ func (r *PrivateAppResourceModel) ToSharedPrivateAppsPutRequest() *shared.Privat Port: port, }) } - var publishers []shared.PublisherItem = nil + var publishers []shared.PublisherItem = []shared.PublisherItem{} for _, publishersItem := range r.Publishers { publisherID := new(string) if !publishersItem.PublisherID.IsUnknown() && !publishersItem.PublisherID.IsNull() { @@ -270,7 +282,7 @@ func (r *PrivateAppResourceModel) ToSharedPrivateAppsPutRequest() *shared.Privat PublisherName: publisherName, }) } - var publisherTags []shared.TagItemNoID = nil + var publisherTags []shared.TagItemNoID = []shared.TagItemNoID{} for _, publisherTagsItem := range r.PublisherTags { tagName := new(string) if !publisherTagsItem.TagName.IsUnknown() && !publisherTagsItem.TagName.IsNull() { @@ -282,7 +294,7 @@ func (r *PrivateAppResourceModel) ToSharedPrivateAppsPutRequest() *shared.Privat TagName: tagName, }) } - var tags []shared.TagItemNoID = nil + var tags []shared.TagItemNoID = []shared.TagItemNoID{} for _, tagsItem := range r.Tags { tagName1 := new(string) if !tagsItem.TagName.IsUnknown() && !tagsItem.TagName.IsNull() { diff --git a/internal/provider/privateapplist_data_source.go b/internal/provider/privateapplist_data_source.go index 489c473..09ec7a2 100644 --- a/internal/provider/privateapplist_data_source.go +++ b/internal/provider/privateapplist_data_source.go @@ -124,6 +124,10 @@ func (r *PrivateAppListDataSource) Read(ctx context.Context, req datasource.Read resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/privateapptag_resource.go b/internal/provider/privateapptag_resource.go index 22cb00f..77d3d6a 100644 --- a/internal/provider/privateapptag_resource.go +++ b/internal/provider/privateapptag_resource.go @@ -47,7 +47,6 @@ func (r *PrivateAppTagResource) Metadata(ctx context.Context, req resource.Metad func (r *PrivateAppTagResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ MarkdownDescription: "PrivateAppTag Resource", - Attributes: map[string]schema.Attribute{ "id": schema.StringAttribute{ PlanModifiers: []planmodifier.String{ diff --git a/internal/provider/privateapptag_resource_sdk.go b/internal/provider/privateapptag_resource_sdk.go index e2d5346..bd280da 100644 --- a/internal/provider/privateapptag_resource_sdk.go +++ b/internal/provider/privateapptag_resource_sdk.go @@ -14,11 +14,11 @@ func (r *PrivateAppTagResourceModel) ToSharedTagRequest() *shared.TagRequest { } else { id = nil } - var ids []string = nil + var ids []string = []string{} for _, idsItem := range r.Ids { ids = append(ids, idsItem.ValueString()) } - var tags []shared.TagItem = nil + var tags []shared.TagItem = []shared.TagItem{} for _, tagsItem := range r.Tags { tagName := new(string) if !tagsItem.TagName.IsUnknown() && !tagsItem.TagName.IsNull() { @@ -37,7 +37,7 @@ func (r *PrivateAppTagResourceModel) ToSharedTagRequest() *shared.TagRequest { TagID: tagID, }) } - var publisherTags []shared.TagItem = nil + var publisherTags []shared.TagItem = []shared.TagItem{} for _, publisherTagsItem := range r.PublisherTags { tagName1 := new(string) if !publisherTagsItem.TagName.IsUnknown() && !publisherTagsItem.TagName.IsNull() { diff --git a/internal/provider/privateapptaglist_data_source.go b/internal/provider/privateapptaglist_data_source.go index cd5e279..2dca175 100644 --- a/internal/provider/privateapptaglist_data_source.go +++ b/internal/provider/privateapptaglist_data_source.go @@ -109,6 +109,10 @@ func (r *PrivateAppTagListDataSource) Read(ctx context.Context, req datasource.R resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/privateapptagpolicyuselist_data_source.go b/internal/provider/privateapptagpolicyuselist_data_source.go index ae080bd..cd424d0 100644 --- a/internal/provider/privateapptagpolicyuselist_data_source.go +++ b/internal/provider/privateapptagpolicyuselist_data_source.go @@ -112,6 +112,10 @@ func (r *PrivateAppTagPolicyUseListDataSource) Read(ctx context.Context, req dat resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/privateapptagpolicyuselist_data_source_sdk.go b/internal/provider/privateapptagpolicyuselist_data_source_sdk.go index 2c2cfdb..9caaa35 100644 --- a/internal/provider/privateapptagpolicyuselist_data_source_sdk.go +++ b/internal/provider/privateapptagpolicyuselist_data_source_sdk.go @@ -9,7 +9,7 @@ import ( ) func (r *PrivateAppTagPolicyUseListDataSourceModel) ToOperationsRetrieveNPAPoliciesInUseRequestBody() *operations.RetrieveNPAPoliciesInUseRequestBody { - var ids []string = nil + var ids []string = []string{} for _, idsItem := range r.Ids { ids = append(ids, idsItem.ValueString()) } diff --git a/internal/provider/publishertoken_resource.go b/internal/provider/publishertoken_resource.go index ccd4970..ad94a29 100644 --- a/internal/provider/publishertoken_resource.go +++ b/internal/provider/publishertoken_resource.go @@ -41,7 +41,6 @@ func (r *PublisherTokenResource) Metadata(ctx context.Context, req resource.Meta func (r *PublisherTokenResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ MarkdownDescription: "PublisherToken Resource", - Attributes: map[string]schema.Attribute{ "publisher_id": schema.Int64Attribute{ PlanModifiers: []planmodifier.Int64{ diff --git a/internal/provider/reflect/helpers.go b/internal/provider/reflect/helpers.go index 82b9515..42d19f2 100644 --- a/internal/provider/reflect/helpers.go +++ b/internal/provider/reflect/helpers.go @@ -46,7 +46,7 @@ func commaSeparatedString(in []string) string { // getStructTags returns a map of Terraform field names to their position in // the tags of the struct `in`. `in` must be a struct. -func getStructTags(_ context.Context, in reflect.Value, path path.Path) (map[string]int, error) { +func getStructTags(_ context.Context, in reflect.Value, path path.Path, opts Options) (map[string]int, error) { tags := map[string]int{} typ := trueReflectValue(in).Type() if typ.Kind() != reflect.Struct { diff --git a/internal/provider/reflect/options.go b/internal/provider/reflect/options.go index 490c5f1..d735aff 100644 --- a/internal/provider/reflect/options.go +++ b/internal/provider/reflect/options.go @@ -2,6 +2,11 @@ package reflect +const ( + SourceTypeState = iota + SourceTypePlan +) + // Options provides configuration settings for how the reflection behavior // works, letting callers tweak different behaviors based on their needs. type Options struct { @@ -19,4 +24,8 @@ type Options struct { // perfectly in the types they're being stored in, rather than // returning errors. Numbers will always be rounded towards 0. AllowRoundingNumbers bool + // SourceType informs the reflection system what the source is + // such that it can make decisions based on the tfPlanOnly annotation + // The default is SourceTypeState + SourceType int } diff --git a/internal/provider/reflect/struct.go b/internal/provider/reflect/struct.go index b670228..c730135 100644 --- a/internal/provider/reflect/struct.go +++ b/internal/provider/reflect/struct.go @@ -73,7 +73,7 @@ func Struct(ctx context.Context, typ attr.Type, object tftypes.Value, target ref // collect a map of fields that are defined in the tags of the struct // passed in - targetFields, err := getStructTags(ctx, target, path) + targetFields, err := getStructTags(ctx, target, path, opts) if err != nil { diags.Append(diag.WithPath(path, DiagIntoIncompatibleType{ Val: object, @@ -125,7 +125,8 @@ func Struct(ctx context.Context, typ attr.Type, object tftypes.Value, target ref } else { result = reflect.New(target.Type()).Elem() } - // Fork End + structType := trueReflectValue(target).Type() + for field, structFieldPos := range targetFields { attrType, ok := attrTypes[field] if !ok { @@ -136,6 +137,13 @@ func Struct(ctx context.Context, typ attr.Type, object tftypes.Value, target ref })) return target, diags } + + fieldReflected := structType.Field(structFieldPos) + if opts.SourceType == SourceTypeState && fieldReflected.Tag.Get(`tfPlanOnly`) == "true" { + // skip explicitly excluded fields + continue + } + // Fork End structField := result.Field(structFieldPos) fieldVal, fieldValDiags := BuildValue(ctx, attrType, objectFields[field], structField, opts, path.AtName(field)) diags.Append(fieldValDiags...) @@ -162,7 +170,7 @@ func FromStruct(ctx context.Context, typ attr.TypeWithAttributeTypes, val reflec // collect a map of fields that are defined in the tags of the struct // passed in - targetFields, err := getStructTags(ctx, val, path) + targetFields, err := getStructTags(ctx, val, path, Options{}) if err != nil { err = fmt.Errorf("error retrieving field names from struct tags: %w", err) diags.AddAttributeError( diff --git a/internal/provider/scimgroups_data_source.go b/internal/provider/scimgroups_data_source.go index 1ac86a8..2fe0416 100644 --- a/internal/provider/scimgroups_data_source.go +++ b/internal/provider/scimgroups_data_source.go @@ -167,6 +167,10 @@ func (r *SCIMGroupsDataSource) Read(ctx context.Context, req datasource.ReadRequ resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/scimgroups_resource.go b/internal/provider/scimgroups_resource.go index adb6376..2487481 100644 --- a/internal/provider/scimgroups_resource.go +++ b/internal/provider/scimgroups_resource.go @@ -58,7 +58,6 @@ func (r *SCIMGroupsResource) Metadata(ctx context.Context, req resource.Metadata func (r *SCIMGroupsResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ MarkdownDescription: "SCIMGroups Resource", - Attributes: map[string]schema.Attribute{ "display_name": schema.StringAttribute{ Computed: true, @@ -147,14 +146,10 @@ func (r *SCIMGroupsResource) Schema(ctx context.Context, req resource.SchemaRequ }, }, "schemas": schema.ListAttribute{ - Computed: true, - PlanModifiers: []planmodifier.List{ - listplanmodifier.RequiresReplaceIfConfigured(), - speakeasy_listplanmodifier.SuppressDiff(speakeasy_listplanmodifier.ExplicitSuppress), - }, + Computed: true, Optional: true, ElementType: types.StringType, - Description: `schema of the resource. Requires replacement if changed. `, + Description: `schema of the resource`, }, "start_index": schema.Int64Attribute{ Computed: true, @@ -322,6 +317,10 @@ func (r *SCIMGroupsResource) Read(ctx context.Context, req resource.ReadRequest, resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return @@ -350,7 +349,64 @@ func (r *SCIMGroupsResource) Update(ctx context.Context, req resource.UpdateRequ return } - // Not Implemented; all attributes marked as RequiresReplace + id := data.ID.ValueString() + requestBody := data.ToOperationsPatchSCIMUsersByIDRequestBody() + request := operations.PatchSCIMUsersByIDRequest{ + ID: id, + RequestBody: requestBody, + } + res, err := r.client.ScimGroups.PatchSCIMUsersByID(ctx, request) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res != nil && res.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res.RawResponse)) + } + return + } + if res == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) + return + } + if res.StatusCode != 204 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) + return + } + refreshPlan(ctx, plan, &data, resp.Diagnostics) + var filter *string + startIndex := new(int64) + if !data.StartIndex.IsUnknown() && !data.StartIndex.IsNull() { + *startIndex = data.StartIndex.ValueInt64() + } else { + startIndex = nil + } + var count *int64 + request1 := operations.GetSCIMGroupsRequest{ + Filter: filter, + StartIndex: startIndex, + Count: count, + } + res1, err := r.client.ScimGroups.GetSCIMGroups(ctx, request1) + if err != nil { + resp.Diagnostics.AddError("failure to invoke API", err.Error()) + if res1 != nil && res1.RawResponse != nil { + resp.Diagnostics.AddError("unexpected http request/response", debugResponse(res1.RawResponse)) + } + return + } + if res1 == nil { + resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res1)) + return + } + if res1.StatusCode != 200 { + resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res1.StatusCode), debugResponse(res1.RawResponse)) + return + } + if res1.TwoHundredApplicationJSONObject == nil { + resp.Diagnostics.AddError("unexpected response from API. No response body", debugResponse(res1.RawResponse)) + return + } + data.RefreshFromOperationsGetSCIMGroupsResponseBody(res1.TwoHundredApplicationJSONObject) + refreshPlan(ctx, plan, &data, resp.Diagnostics) // Save updated data into Terraform state resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) diff --git a/internal/provider/scimgroups_resource_sdk.go b/internal/provider/scimgroups_resource_sdk.go index d4dcc21..d1d5e25 100644 --- a/internal/provider/scimgroups_resource_sdk.go +++ b/internal/provider/scimgroups_resource_sdk.go @@ -9,7 +9,7 @@ import ( ) func (r *SCIMGroupsResourceModel) ToOperationsCreateSCIMGroupsRequestBody() *operations.CreateSCIMGroupsRequestBody { - var schemas []operations.CreateSCIMGroupsSchemas = nil + var schemas []operations.CreateSCIMGroupsSchemas = []operations.CreateSCIMGroupsSchemas{} for _, schemasItem := range r.Schemas { schemas = append(schemas, operations.CreateSCIMGroupsSchemas(schemasItem.ValueString())) } @@ -19,7 +19,7 @@ func (r *SCIMGroupsResourceModel) ToOperationsCreateSCIMGroupsRequestBody() *ope } else { displayName = nil } - var members []operations.Members = nil + var members []operations.Members = []operations.Members{} for _, membersItem := range r.Members { value := new(string) if !membersItem.Value.IsUnknown() && !membersItem.Value.IsNull() { @@ -121,3 +121,14 @@ func (r *SCIMGroupsResourceModel) RefreshFromOperationsGetSCIMGroupsResponseBody r.TotalResults = types.Int64PointerValue(resp.TotalResults) } } + +func (r *SCIMGroupsResourceModel) ToOperationsPatchSCIMUsersByIDRequestBody() *operations.PatchSCIMUsersByIDRequestBody { + var schemas []operations.PatchSCIMUsersByIDSchemas = []operations.PatchSCIMUsersByIDSchemas{} + for _, schemasItem := range r.Schemas { + schemas = append(schemas, operations.PatchSCIMUsersByIDSchemas(schemasItem.ValueString())) + } + out := operations.PatchSCIMUsersByIDRequestBody{ + Schemas: schemas, + } + return &out +} diff --git a/internal/provider/scimgroupsbyid_data_source.go b/internal/provider/scimgroupsbyid_data_source.go index 1383b22..017186b 100644 --- a/internal/provider/scimgroupsbyid_data_source.go +++ b/internal/provider/scimgroupsbyid_data_source.go @@ -129,6 +129,10 @@ func (r *SCIMGroupsByIDDataSource) Read(ctx context.Context, req datasource.Read resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/scimuser_data_source.go b/internal/provider/scimuser_data_source.go index 01560e0..062d42f 100644 --- a/internal/provider/scimuser_data_source.go +++ b/internal/provider/scimuser_data_source.go @@ -166,6 +166,10 @@ func (r *SCIMUserDataSource) Read(ctx context.Context, req datasource.ReadReques resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/scimuser_resource.go b/internal/provider/scimuser_resource.go index 75a8d4b..911c164 100644 --- a/internal/provider/scimuser_resource.go +++ b/internal/provider/scimuser_resource.go @@ -50,7 +50,6 @@ func (r *SCIMUserResource) Metadata(ctx context.Context, req resource.MetadataRe func (r *SCIMUserResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ MarkdownDescription: "SCIMUser Resource", - Attributes: map[string]schema.Attribute{ "active": schema.BoolAttribute{ Computed: true, @@ -264,6 +263,10 @@ func (r *SCIMUserResource) Read(ctx context.Context, req resource.ReadRequest, r resp.Diagnostics.AddError("unexpected response from API", fmt.Sprintf("%v", res)) return } + if res.StatusCode == 404 { + resp.State.RemoveResource(ctx) + return + } if res.StatusCode != 200 { resp.Diagnostics.AddError(fmt.Sprintf("unexpected response from API. Got an unexpected response code %v", res.StatusCode), debugResponse(res.RawResponse)) return diff --git a/internal/provider/scimuser_resource_sdk.go b/internal/provider/scimuser_resource_sdk.go index 5221113..6c38a61 100644 --- a/internal/provider/scimuser_resource_sdk.go +++ b/internal/provider/scimuser_resource_sdk.go @@ -9,7 +9,7 @@ import ( ) func (r *SCIMUserResourceModel) ToOperationsCreateSCIMUsersRequestBody() *operations.CreateSCIMUsersRequestBody { - var schemas []operations.Schemas = nil + var schemas []operations.Schemas = []operations.Schemas{} for _, schemasItem := range r.Schemas { schemas = append(schemas, operations.Schemas(schemasItem.ValueString())) } @@ -44,7 +44,7 @@ func (r *SCIMUserResourceModel) ToOperationsCreateSCIMUsersRequestBody() *operat } else { active = nil } - var emails []operations.Emails = nil + var emails []operations.Emails = []operations.Emails{} for _, emailsItem := range r.Emails { value := new(string) if !emailsItem.Value.IsUnknown() && !emailsItem.Value.IsNull() { @@ -173,7 +173,7 @@ func (r *SCIMUserResourceModel) RefreshFromOperationsGetSCIMUsersByIDResponseBod } func (r *SCIMUserResourceModel) ToOperationsPutSCIMUsersByIDRequestBody() *operations.PutSCIMUsersByIDRequestBody { - var schemas []operations.PutSCIMUsersByIDSchemas = nil + var schemas []operations.PutSCIMUsersByIDSchemas = []operations.PutSCIMUsersByIDSchemas{} for _, schemasItem := range r.Schemas { schemas = append(schemas, operations.PutSCIMUsersByIDSchemas(schemasItem.ValueString())) } @@ -208,7 +208,7 @@ func (r *SCIMUserResourceModel) ToOperationsPutSCIMUsersByIDRequestBody() *opera } else { active = nil } - var emails []operations.PutSCIMUsersByIDEmails = nil + var emails []operations.PutSCIMUsersByIDEmails = []operations.PutSCIMUsersByIDEmails{} for _, emailsItem := range r.Emails { value := new(string) if !emailsItem.Value.IsUnknown() && !emailsItem.Value.IsNull() { diff --git a/internal/provider/types/protocol_response_item.go b/internal/provider/types/protocol_response_item.go index 007cab9..f943157 100644 --- a/internal/provider/types/protocol_response_item.go +++ b/internal/provider/types/protocol_response_item.go @@ -5,6 +5,8 @@ package types import "github.com/hashicorp/terraform-plugin-framework/types" type ProtocolResponseItem struct { + ID types.Int64 `tfsdk:"id"` Port types.String `tfsdk:"port"` + ServiceID types.Int64 `tfsdk:"service_id"` Transport types.String `tfsdk:"transport"` } diff --git a/internal/provider/types/publisher_assessment.go b/internal/provider/types/publisher_assessment.go index 3abb9f7..a3c248d 100644 --- a/internal/provider/types/publisher_assessment.go +++ b/internal/provider/types/publisher_assessment.go @@ -3,6 +3,6 @@ package types type PublisherAssessment struct { - Two *PublisherBulkItemAssessment `tfsdk:"two"` - Assessment *Assessment `tfsdk:"assessment"` + Two *PublisherBulkItemAssessment `tfsdk:"two" tfPlanOnly:"true"` + Assessment *Assessment `tfsdk:"assessment" tfPlanOnly:"true"` } diff --git a/internal/provider/types/publisher_upgrade_failed_reason.go b/internal/provider/types/publisher_upgrade_failed_reason.go index 9d9284d..b7845d3 100644 --- a/internal/provider/types/publisher_upgrade_failed_reason.go +++ b/internal/provider/types/publisher_upgrade_failed_reason.go @@ -3,6 +3,6 @@ package types type PublisherUpgradeFailedReason struct { - Two *PublisherBulkItemAssessment `tfsdk:"two"` - UpgradeFailedReason *UpgradeFailedReason `tfsdk:"upgrade_failed_reason"` + Two *PublisherBulkItemAssessment `tfsdk:"two" tfPlanOnly:"true"` + UpgradeFailedReason *UpgradeFailedReason `tfsdk:"upgrade_failed_reason" tfPlanOnly:"true"` } diff --git a/internal/provider/utils.go b/internal/provider/utils.go index 77f9681..3d661eb 100644 --- a/internal/provider/utils.go +++ b/internal/provider/utils.go @@ -10,7 +10,6 @@ import ( "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/hashicorp/terraform-plugin-framework/types/basetypes" tfReflect "github.com/speakeasy/terraform-provider-terraform/internal/provider/reflect" "net/http" "net/http/httputil" @@ -18,6 +17,9 @@ import ( ) func debugResponse(response *http.Response) string { + if v := response.Request.Header.Get("Netskope-Api-Token"); v != "" { + response.Request.Header.Set("Netskope-Api-Token", "(sensitive)") + } dumpReq, err := httputil.DumpRequest(response.Request, true) if err != nil { dumpReq, err = httputil.DumpRequest(response.Request, false) @@ -60,11 +62,15 @@ func merge(ctx context.Context, req resource.UpdateRequest, resp *resource.Updat if resp.Diagnostics.HasError() { return } - - resp.Diagnostics.Append(state.As(ctx, target, basetypes.ObjectAsOptions{ + val, err := state.ToTerraformValue(ctx) + if err != nil { + resp.Diagnostics.Append(diag.NewErrorDiagnostic("Object Conversion Error", "An unexpected error was encountered trying to convert object. This is always an error in the provider. Please report the following to the provider developer:\n\n"+err.Error())) + return + } + resp.Diagnostics.Append(tfReflect.Into(ctx, types.ObjectType{AttrTypes: state.AttributeTypes(ctx)}, val, target, tfReflect.Options{ UnhandledNullAsEmpty: true, UnhandledUnknownAsEmpty: true, - })...) + }, path.Empty())...) if resp.Diagnostics.HasError() { return } @@ -82,5 +88,6 @@ func refreshPlan(ctx context.Context, plan types.Object, target interface{}, dia diagnostics.Append(tfReflect.Into(ctx, obj, val, target, tfReflect.Options{ UnhandledNullAsEmpty: true, UnhandledUnknownAsEmpty: true, + SourceType: tfReflect.SourceTypePlan, }, path.Empty())...) } diff --git a/internal/sdk/internal/utils/headers.go b/internal/sdk/internal/utils/headers.go index 0837022..0249876 100644 --- a/internal/sdk/internal/utils/headers.go +++ b/internal/sdk/internal/utils/headers.go @@ -10,14 +10,35 @@ import ( "strings" ) -func PopulateHeaders(ctx context.Context, req *http.Request, headers interface{}) { +func PopulateHeaders(_ context.Context, req *http.Request, headers interface{}, globals interface{}) { + globalsAlreadyPopulated := populateHeaders(headers, globals, req.Header, []string{}) + if globals != nil { + _ = populateHeaders(globals, nil, req.Header, globalsAlreadyPopulated) + } +} + +func populateHeaders(headers interface{}, globals interface{}, reqHeaders http.Header, skipFields []string) []string { headerParamsStructType := reflect.TypeOf(headers) headerParamsValType := reflect.ValueOf(headers) + globalsAlreadyPopulated := []string{} + for i := 0; i < headerParamsStructType.NumField(); i++ { fieldType := headerParamsStructType.Field(i) valType := headerParamsValType.Field(i) + if contains(skipFields, fieldType.Name) { + continue + } + + if globals != nil { + var globalFound bool + fieldType, valType, globalFound = populateFromGlobals(fieldType, valType, headerParamTagKey, globals) + if globalFound { + globalsAlreadyPopulated = append(globalsAlreadyPopulated, fieldType.Name) + } + } + tag := parseParamTag(headerParamTagKey, fieldType, "simple", false) if tag == nil { continue @@ -25,9 +46,11 @@ func PopulateHeaders(ctx context.Context, req *http.Request, headers interface{} value := serializeHeader(fieldType.Type, valType, tag.Explode) if value != "" { - req.Header.Add(tag.ParamName, value) + reqHeaders.Add(tag.ParamName, value) } } + + return globalsAlreadyPopulated } func serializeHeader(objType reflect.Type, objValue reflect.Value, explode bool) string { diff --git a/internal/sdk/internal/utils/pathparams.go b/internal/sdk/internal/utils/pathparams.go index 19e94df..f65ca2c 100644 --- a/internal/sdk/internal/utils/pathparams.go +++ b/internal/sdk/internal/utils/pathparams.go @@ -16,18 +16,41 @@ import ( "github.com/speakeasy/terraform-provider-terraform/internal/sdk/types" ) -func GenerateURL(ctx context.Context, serverURL, path string, pathParams interface{}, globals map[string]map[string]map[string]interface{}) (string, error) { +func GenerateURL(_ context.Context, serverURL, path string, pathParams interface{}, globals interface{}) (string, error) { uri := strings.TrimSuffix(serverURL, "/") + path + parsedParameters := map[string]string{} + + globalsAlreadyPopulated, err := populateParsedParameters(pathParams, globals, parsedParameters, []string{}) + if err != nil { + return "", err + } + + if globals != nil { + _, err = populateParsedParameters(globals, nil, parsedParameters, globalsAlreadyPopulated) + if err != nil { + return "", err + } + } + + // TODO should we handle the case where there are no matching path params? + return ReplaceParameters(uri, parsedParameters), nil +} + +func populateParsedParameters(pathParams interface{}, globals interface{}, parsedParameters map[string]string, skipFields []string) ([]string, error) { pathParamsStructType := reflect.TypeOf(pathParams) pathParamsValType := reflect.ValueOf(pathParams) - parsedParameters := map[string]string{} + globalsAlreadyPopulated := []string{} for i := 0; i < pathParamsStructType.NumField(); i++ { fieldType := pathParamsStructType.Field(i) valType := pathParamsValType.Field(i) + if contains(skipFields, fieldType.Name) { + continue + } + requestTag := getRequestTag(fieldType) if requestTag != nil { continue @@ -38,12 +61,18 @@ func GenerateURL(ctx context.Context, serverURL, path string, pathParams interfa continue } - valType = populateFromGlobals(fieldType, valType, "pathParam", globals) + if globals != nil { + var globalFound bool + fieldType, valType, globalFound = populateFromGlobals(fieldType, valType, pathParamTagKey, globals) + if globalFound { + globalsAlreadyPopulated = append(globalsAlreadyPopulated, fieldType.Name) + } + } if ppTag.Serialization != "" { vals, err := populateSerializedParams(ppTag, fieldType.Type, valType) if err != nil { - return "", err + return nil, err } for k, v := range vals { parsedParameters[k] = url.PathEscape(v) @@ -52,7 +81,7 @@ func GenerateURL(ctx context.Context, serverURL, path string, pathParams interfa // TODO: support other styles switch ppTag.Style { case "simple": - simpleParams := getSimplePathParams(ctx, ppTag.ParamName, fieldType.Type, valType, ppTag.Explode) + simpleParams := getSimplePathParams(ppTag.ParamName, fieldType.Type, valType, ppTag.Explode) for k, v := range simpleParams { parsedParameters[k] = v } @@ -60,11 +89,10 @@ func GenerateURL(ctx context.Context, serverURL, path string, pathParams interfa } } - // TODO should we handle the case where there are no matching path params? - return ReplaceParameters(uri, parsedParameters), nil + return globalsAlreadyPopulated, nil } -func getSimplePathParams(ctx context.Context, parentName string, objType reflect.Type, objValue reflect.Value, explode bool) map[string]string { +func getSimplePathParams(parentName string, objType reflect.Type, objValue reflect.Value, explode bool) map[string]string { pathParams := make(map[string]string) if isNil(objType, objValue) { diff --git a/internal/sdk/internal/utils/queryparams.go b/internal/sdk/internal/utils/queryparams.go index 0e94bce..8d1bf47 100644 --- a/internal/sdk/internal/utils/queryparams.go +++ b/internal/sdk/internal/utils/queryparams.go @@ -11,16 +11,40 @@ import ( "reflect" ) -func PopulateQueryParams(ctx context.Context, req *http.Request, queryParams interface{}, globals map[string]map[string]map[string]interface{}) error { +func PopulateQueryParams(_ context.Context, req *http.Request, queryParams interface{}, globals interface{}) error { + values := url.Values{} + + globalsAlreadyPopulated, err := populateQueryParams(queryParams, globals, values, []string{}) + if err != nil { + return err + } + + if globals != nil { + _, err = populateQueryParams(globals, nil, values, globalsAlreadyPopulated) + if err != nil { + return err + } + } + + req.URL.RawQuery = values.Encode() + + return nil +} + +func populateQueryParams(queryParams interface{}, globals interface{}, values url.Values, skipFields []string) ([]string, error) { queryParamsStructType := reflect.TypeOf(queryParams) queryParamsValType := reflect.ValueOf(queryParams) - values := url.Values{} + globalsAlreadyPopulated := []string{} for i := 0; i < queryParamsStructType.NumField(); i++ { fieldType := queryParamsStructType.Field(i) valType := queryParamsValType.Field(i) + if contains(skipFields, fieldType.Name) { + continue + } + requestTag := getRequestTag(fieldType) if requestTag != nil { continue @@ -31,12 +55,18 @@ func PopulateQueryParams(ctx context.Context, req *http.Request, queryParams int continue } - valType = populateFromGlobals(fieldType, valType, "queryParam", globals) + if globals != nil { + var globalFound bool + fieldType, valType, globalFound = populateFromGlobals(fieldType, valType, queryParamTagKey, globals) + if globalFound { + globalsAlreadyPopulated = append(globalsAlreadyPopulated, fieldType.Name) + } + } if qpTag.Serialization != "" { vals, err := populateSerializedParams(qpTag, fieldType.Type, valType) if err != nil { - return err + return nil, err } for k, v := range vals { values.Add(k, v) @@ -44,35 +74,33 @@ func PopulateQueryParams(ctx context.Context, req *http.Request, queryParams int } else { switch qpTag.Style { case "deepObject": - vals := populateDeepObjectParams(req, qpTag, fieldType.Type, valType) + vals := populateDeepObjectParams(qpTag, fieldType.Type, valType) for k, v := range vals { for _, vv := range v { values.Add(k, vv) } } case "form": - vals := populateFormParams(req, qpTag, fieldType.Type, valType, ",") + vals := populateFormParams(qpTag, fieldType.Type, valType, ",") for k, v := range vals { for _, vv := range v { values.Add(k, vv) } } case "pipeDelimited": - vals := populateFormParams(req, qpTag, fieldType.Type, valType, "|") + vals := populateFormParams(qpTag, fieldType.Type, valType, "|") for k, v := range vals { for _, vv := range v { values.Add(k, vv) } } default: - return fmt.Errorf("unsupported style: %s", qpTag.Style) + return nil, fmt.Errorf("unsupported style: %s", qpTag.Style) } } } - req.URL.RawQuery = values.Encode() - - return nil + return globalsAlreadyPopulated, nil } func populateSerializedParams(tag *paramTag, objType reflect.Type, objValue reflect.Value) (map[string]string, error) { @@ -98,7 +126,7 @@ func populateSerializedParams(tag *paramTag, objType reflect.Type, objValue refl return values, nil } -func populateDeepObjectParams(req *http.Request, tag *paramTag, objType reflect.Type, objValue reflect.Value) url.Values { +func populateDeepObjectParams(tag *paramTag, objType reflect.Type, objValue reflect.Value) url.Values { values := url.Values{} if isNil(objType, objValue) { @@ -155,7 +183,7 @@ func populateDeepObjectParams(req *http.Request, tag *paramTag, objType reflect. return values } -func populateFormParams(req *http.Request, tag *paramTag, objType reflect.Type, objValue reflect.Value, delimiter string) url.Values { +func populateFormParams(tag *paramTag, objType reflect.Type, objValue reflect.Value, delimiter string) url.Values { return populateForm(tag.ParamName, tag.Explode, objType, objValue, delimiter, func(fieldType reflect.StructField) string { qpTag := parseQueryParamTag(fieldType) if qpTag == nil { diff --git a/internal/sdk/internal/utils/requestbody.go b/internal/sdk/internal/utils/requestbody.go index 322b8b3..cfb2ba6 100644 --- a/internal/sdk/internal/utils/requestbody.go +++ b/internal/sdk/internal/utils/requestbody.go @@ -25,8 +25,8 @@ var ( urlEncodedEncodingRegex = regexp.MustCompile(`application\/x-www-form-urlencoded.*`) ) -func SerializeRequestBody(ctx context.Context, request interface{}, nullable, optional bool, requestFieldName, serializationMethod, tag string) (io.Reader, string, error) { - bodyReader, contentType, err := serializeRequestBody(ctx, request, nullable, optional, requestFieldName, serializationMethod, tag) +func SerializeRequestBody(_ context.Context, request interface{}, nullable, optional bool, requestFieldName, serializationMethod, tag string) (io.Reader, string, error) { + bodyReader, contentType, err := serializeRequestBody(request, nullable, optional, requestFieldName, serializationMethod, tag) if err != nil { return nil, "", fmt.Errorf("error serializing request body: %w", err) } @@ -38,7 +38,7 @@ func SerializeRequestBody(ctx context.Context, request interface{}, nullable, op return bodyReader, contentType, nil } -func serializeRequestBody(ctx context.Context, request interface{}, nullable, optional bool, requestFieldName, serializationMethod, tag string) (io.Reader, string, error) { +func serializeRequestBody(request interface{}, nullable, optional bool, requestFieldName, serializationMethod, tag string) (io.Reader, string, error) { requestStructType := reflect.TypeOf(request) requestValType := reflect.ValueOf(request) diff --git a/internal/sdk/internal/utils/utils.go b/internal/sdk/internal/utils/utils.go index 5508c5f..a35dc9b 100644 --- a/internal/sdk/internal/utils/utils.go +++ b/internal/sdk/internal/utils/utils.go @@ -158,23 +158,43 @@ func valToString(val interface{}) string { } } -func populateFromGlobals(fieldType reflect.StructField, valType reflect.Value, paramType string, globals map[string]map[string]map[string]interface{}) reflect.Value { - if globals != nil && fieldType.Type.Kind() == reflect.Ptr { - parameters, ok := globals["parameters"] - if ok { - paramsOfType, ok := parameters[paramType] - if ok { - globalVal, ok := paramsOfType[fieldType.Name] - if ok { - if reflect.TypeOf(globalVal).Kind() == fieldType.Type.Elem().Kind() && valType.IsNil() { - valType = reflect.ValueOf(&globalVal) - } - } - } +func populateFromGlobals(fieldType reflect.StructField, valType reflect.Value, paramType string, globals interface{}) (reflect.StructField, reflect.Value, bool) { + if globals == nil { + return fieldType, valType, false + } + + globalsStruct := reflect.TypeOf(globals) + globalsStructVal := reflect.ValueOf(globals) + + globalsField, found := globalsStruct.FieldByName(fieldType.Name) + if !found { + return fieldType, valType, false + } + + if fieldType.Type.Kind() != reflect.Ptr || !valType.IsNil() { + return fieldType, valType, true + } + + globalsVal := globalsStructVal.FieldByName(fieldType.Name) + + if !globalsVal.IsValid() { + return fieldType, valType, false + } + + switch paramType { + case queryParamTagKey: + qpTag := parseQueryParamTag(globalsField) + if qpTag == nil { + return fieldType, valType, false + } + default: + tag := parseParamTag(paramType, fieldType, "simple", false) + if tag == nil { + return fieldType, valType, false } } - return valType + return globalsField, globalsVal, true } func isNil(typ reflect.Type, val reflect.Value) bool { @@ -192,3 +212,12 @@ func isNil(typ reflect.Type, val reflect.Value) bool { return false } + +func contains(arr []string, str string) bool { + for _, a := range arr { + if a == str { + return true + } + } + return false +} diff --git a/internal/sdk/models/operations/patchscimusersbyid.go b/internal/sdk/models/operations/patchscimusersbyid.go new file mode 100644 index 0000000..debe7fd --- /dev/null +++ b/internal/sdk/models/operations/patchscimusersbyid.go @@ -0,0 +1,412 @@ +// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + +package operations + +import ( + "encoding/json" + "errors" + "fmt" + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/utils" + "net/http" +) + +type PatchSCIMUsersByIDSchemas string + +const ( + PatchSCIMUsersByIDSchemasUrnIetfParamsScimAPIMessages20PatchOp PatchSCIMUsersByIDSchemas = "urn:ietf:params:scim:api:messages:2.0:PatchOp" +) + +func (e PatchSCIMUsersByIDSchemas) ToPointer() *PatchSCIMUsersByIDSchemas { + return &e +} + +func (e *PatchSCIMUsersByIDSchemas) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "urn:ietf:params:scim:api:messages:2.0:PatchOp": + *e = PatchSCIMUsersByIDSchemas(v) + return nil + default: + return fmt.Errorf("invalid value for PatchSCIMUsersByIDSchemas: %v", v) + } +} + +type PatchSCIMUsersByIDPath string + +const ( + PatchSCIMUsersByIDPathMembers PatchSCIMUsersByIDPath = "members" + PatchSCIMUsersByIDPathExternalid PatchSCIMUsersByIDPath = "externalid" + PatchSCIMUsersByIDPathDisplayname PatchSCIMUsersByIDPath = "displayname" +) + +func (e PatchSCIMUsersByIDPath) ToPointer() *PatchSCIMUsersByIDPath { + return &e +} + +func (e *PatchSCIMUsersByIDPath) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "members": + fallthrough + case "externalid": + fallthrough + case "displayname": + *e = PatchSCIMUsersByIDPath(v) + return nil + default: + return fmt.Errorf("invalid value for PatchSCIMUsersByIDPath: %v", v) + } +} + +type PatchSCIMUsersByIDOp string + +const ( + PatchSCIMUsersByIDOpAdd PatchSCIMUsersByIDOp = "add" + PatchSCIMUsersByIDOpRemove PatchSCIMUsersByIDOp = "remove" + PatchSCIMUsersByIDOpReplace PatchSCIMUsersByIDOp = "replace" +) + +func (e PatchSCIMUsersByIDOp) ToPointer() *PatchSCIMUsersByIDOp { + return &e +} + +func (e *PatchSCIMUsersByIDOp) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "add": + fallthrough + case "remove": + fallthrough + case "replace": + *e = PatchSCIMUsersByIDOp(v) + return nil + default: + return fmt.Errorf("invalid value for PatchSCIMUsersByIDOp: %v", v) + } +} + +type Value2 struct { +} + +type PatchSCIMUsersByIDValueType string + +const ( + PatchSCIMUsersByIDValueTypeStr PatchSCIMUsersByIDValueType = "str" + PatchSCIMUsersByIDValueTypeValue2 PatchSCIMUsersByIDValueType = "value_2" +) + +// PatchSCIMUsersByIDValue - value either string or object +type PatchSCIMUsersByIDValue struct { + Str *string + Value2 *Value2 + + Type PatchSCIMUsersByIDValueType +} + +func CreatePatchSCIMUsersByIDValueStr(str string) PatchSCIMUsersByIDValue { + typ := PatchSCIMUsersByIDValueTypeStr + + return PatchSCIMUsersByIDValue{ + Str: &str, + Type: typ, + } +} + +func CreatePatchSCIMUsersByIDValueValue2(value2 Value2) PatchSCIMUsersByIDValue { + typ := PatchSCIMUsersByIDValueTypeValue2 + + return PatchSCIMUsersByIDValue{ + Value2: &value2, + Type: typ, + } +} + +func (u *PatchSCIMUsersByIDValue) UnmarshalJSON(data []byte) error { + + value2 := Value2{} + if err := utils.UnmarshalJSON(data, &value2, "", true, true); err == nil { + u.Value2 = &value2 + u.Type = PatchSCIMUsersByIDValueTypeValue2 + return nil + } + + str := "" + if err := utils.UnmarshalJSON(data, &str, "", true, true); err == nil { + u.Str = &str + u.Type = PatchSCIMUsersByIDValueTypeStr + return nil + } + + return errors.New("could not unmarshal into supported union types") +} + +func (u PatchSCIMUsersByIDValue) MarshalJSON() ([]byte, error) { + if u.Str != nil { + return utils.MarshalJSON(u.Str, "", true) + } + + if u.Value2 != nil { + return utils.MarshalJSON(u.Value2, "", true) + } + + return nil, errors.New("could not marshal union type: all fields are null") +} + +type PatchSCIMUsersByIDOperations struct { + Path *PatchSCIMUsersByIDPath `json:"path,omitempty"` + Op *PatchSCIMUsersByIDOp `json:"op,omitempty"` + // value either string or object + Value *PatchSCIMUsersByIDValue `json:"value,omitempty"` +} + +func (o *PatchSCIMUsersByIDOperations) GetPath() *PatchSCIMUsersByIDPath { + if o == nil { + return nil + } + return o.Path +} + +func (o *PatchSCIMUsersByIDOperations) GetOp() *PatchSCIMUsersByIDOp { + if o == nil { + return nil + } + return o.Op +} + +func (o *PatchSCIMUsersByIDOperations) GetValue() *PatchSCIMUsersByIDValue { + if o == nil { + return nil + } + return o.Value +} + +// PatchSCIMUsersByIDRequestBody - group request body +type PatchSCIMUsersByIDRequestBody struct { + // schema of the resource + Schemas []PatchSCIMUsersByIDSchemas `json:"schemas,omitempty"` + Operations []PatchSCIMUsersByIDOperations `json:"Operations,omitempty"` +} + +func (o *PatchSCIMUsersByIDRequestBody) GetSchemas() []PatchSCIMUsersByIDSchemas { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *PatchSCIMUsersByIDRequestBody) GetOperations() []PatchSCIMUsersByIDOperations { + if o == nil { + return nil + } + return o.Operations +} + +type PatchSCIMUsersByIDRequest struct { + // SCIM Used ID should be specified + ID string `pathParam:"style=simple,explode=false,name=id"` + // attributed to be added. + RequestBody *PatchSCIMUsersByIDRequestBody `request:"mediaType=application/json"` +} + +func (o *PatchSCIMUsersByIDRequest) GetID() string { + if o == nil { + return "" + } + return o.ID +} + +func (o *PatchSCIMUsersByIDRequest) GetRequestBody() *PatchSCIMUsersByIDRequestBody { + if o == nil { + return nil + } + return o.RequestBody +} + +type PatchSCIMUsersByIDSCIMGroupsStatus string + +const ( + PatchSCIMUsersByIDSCIMGroupsStatusFailed PatchSCIMUsersByIDSCIMGroupsStatus = "failed" + PatchSCIMUsersByIDSCIMGroupsStatusFiveHundredAndOne PatchSCIMUsersByIDSCIMGroupsStatus = "501" +) + +func (e PatchSCIMUsersByIDSCIMGroupsStatus) ToPointer() *PatchSCIMUsersByIDSCIMGroupsStatus { + return &e +} + +func (e *PatchSCIMUsersByIDSCIMGroupsStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "failed": + fallthrough + case "501": + *e = PatchSCIMUsersByIDSCIMGroupsStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PatchSCIMUsersByIDSCIMGroupsStatus: %v", v) + } +} + +// PatchSCIMUsersByIDSCIMGroupsResponseResponseBody - Internal error Failed +type PatchSCIMUsersByIDSCIMGroupsResponseResponseBody struct { + Status *PatchSCIMUsersByIDSCIMGroupsStatus `json:"status,omitempty"` + Schemas *string `json:"schemas,omitempty"` + Detail *string `json:"detail,omitempty"` +} + +func (o *PatchSCIMUsersByIDSCIMGroupsResponseResponseBody) GetStatus() *PatchSCIMUsersByIDSCIMGroupsStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *PatchSCIMUsersByIDSCIMGroupsResponseResponseBody) GetSchemas() *string { + if o == nil { + return nil + } + return o.Schemas +} + +func (o *PatchSCIMUsersByIDSCIMGroupsResponseResponseBody) GetDetail() *string { + if o == nil { + return nil + } + return o.Detail +} + +// PatchSCIMUsersByIDSCIMGroupsResponseBody - Not authorized to execte the specific API. +type PatchSCIMUsersByIDSCIMGroupsResponseBody struct { + Message *string `json:"message,omitempty"` +} + +func (o *PatchSCIMUsersByIDSCIMGroupsResponseBody) GetMessage() *string { + if o == nil { + return nil + } + return o.Message +} + +type PatchSCIMUsersByIDStatus string + +const ( + PatchSCIMUsersByIDStatusFourHundred PatchSCIMUsersByIDStatus = "400" + PatchSCIMUsersByIDStatusFailed PatchSCIMUsersByIDStatus = "failed" +) + +func (e PatchSCIMUsersByIDStatus) ToPointer() *PatchSCIMUsersByIDStatus { + return &e +} + +func (e *PatchSCIMUsersByIDStatus) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "400": + fallthrough + case "failed": + *e = PatchSCIMUsersByIDStatus(v) + return nil + default: + return fmt.Errorf("invalid value for PatchSCIMUsersByIDStatus: %v", v) + } +} + +// PatchSCIMUsersByIDResponseBody - Failed +type PatchSCIMUsersByIDResponseBody struct { + Status *PatchSCIMUsersByIDStatus `json:"status,omitempty"` + Description *string `json:"description,omitempty"` + // schema of the resource + Schemas []string `json:"schemas,omitempty"` +} + +func (o *PatchSCIMUsersByIDResponseBody) GetStatus() *PatchSCIMUsersByIDStatus { + if o == nil { + return nil + } + return o.Status +} + +func (o *PatchSCIMUsersByIDResponseBody) GetDescription() *string { + if o == nil { + return nil + } + return o.Description +} + +func (o *PatchSCIMUsersByIDResponseBody) GetSchemas() []string { + if o == nil { + return nil + } + return o.Schemas +} + +type PatchSCIMUsersByIDResponse struct { + // HTTP response content type for this operation + ContentType string + // HTTP response status code for this operation + StatusCode int + // Raw HTTP response; suitable for custom response parsing + RawResponse *http.Response + // Failed + FourHundredApplicationJSONObject *PatchSCIMUsersByIDResponseBody + // Not authorized to execte the specific API. + FourHundredAndThreeApplicationJSONObject *PatchSCIMUsersByIDSCIMGroupsResponseBody + // Internal error Failed + FiveHundredAndOneApplicationJSONObject *PatchSCIMUsersByIDSCIMGroupsResponseResponseBody +} + +func (o *PatchSCIMUsersByIDResponse) GetContentType() string { + if o == nil { + return "" + } + return o.ContentType +} + +func (o *PatchSCIMUsersByIDResponse) GetStatusCode() int { + if o == nil { + return 0 + } + return o.StatusCode +} + +func (o *PatchSCIMUsersByIDResponse) GetRawResponse() *http.Response { + if o == nil { + return nil + } + return o.RawResponse +} + +func (o *PatchSCIMUsersByIDResponse) GetFourHundredApplicationJSONObject() *PatchSCIMUsersByIDResponseBody { + if o == nil { + return nil + } + return o.FourHundredApplicationJSONObject +} + +func (o *PatchSCIMUsersByIDResponse) GetFourHundredAndThreeApplicationJSONObject() *PatchSCIMUsersByIDSCIMGroupsResponseBody { + if o == nil { + return nil + } + return o.FourHundredAndThreeApplicationJSONObject +} + +func (o *PatchSCIMUsersByIDResponse) GetFiveHundredAndOneApplicationJSONObject() *PatchSCIMUsersByIDSCIMGroupsResponseResponseBody { + if o == nil { + return nil + } + return o.FiveHundredAndOneApplicationJSONObject +} diff --git a/internal/sdk/models/operations/putscimgroupsbyid.go b/internal/sdk/models/operations/putscimgroupsbyid.go deleted file mode 100644 index 24a2514..0000000 --- a/internal/sdk/models/operations/putscimgroupsbyid.go +++ /dev/null @@ -1,455 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "encoding/json" - "fmt" - "net/http" -) - -type PutSCIMGroupsByIDSchemas string - -const ( - PutSCIMGroupsByIDSchemasUrnIetfParamsScimSchemasCore20Group PutSCIMGroupsByIDSchemas = "urn:ietf:params:scim:schemas:core:2.0:Group" -) - -func (e PutSCIMGroupsByIDSchemas) ToPointer() *PutSCIMGroupsByIDSchemas { - return &e -} - -func (e *PutSCIMGroupsByIDSchemas) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "urn:ietf:params:scim:schemas:core:2.0:Group": - *e = PutSCIMGroupsByIDSchemas(v) - return nil - default: - return fmt.Errorf("invalid value for PutSCIMGroupsByIDSchemas: %v", v) - } -} - -type PutSCIMGroupsByIDMembers struct { - Value *string `json:"value,omitempty"` -} - -func (o *PutSCIMGroupsByIDMembers) GetValue() *string { - if o == nil { - return nil - } - return o.Value -} - -// PutSCIMGroupsByIDMeta - meta information -type PutSCIMGroupsByIDMeta struct { - // resource type Group. - ResourceType *string `json:"resourceType,omitempty"` -} - -func (o *PutSCIMGroupsByIDMeta) GetResourceType() *string { - if o == nil { - return nil - } - return o.ResourceType -} - -// PutSCIMGroupsByIDRequestBody - User object -type PutSCIMGroupsByIDRequestBody struct { - // schema of the resource - Schemas []PutSCIMGroupsByIDSchemas `json:"schemas,omitempty"` - // Display name for group. - DisplayName *string `json:"displayName,omitempty"` - Members []PutSCIMGroupsByIDMembers `json:"members,omitempty"` - // Optional - Scim External ID - ExternalID *string `json:"externalId,omitempty"` - // meta information - Meta *PutSCIMGroupsByIDMeta `json:"meta,omitempty"` -} - -func (o *PutSCIMGroupsByIDRequestBody) GetSchemas() []PutSCIMGroupsByIDSchemas { - if o == nil { - return nil - } - return o.Schemas -} - -func (o *PutSCIMGroupsByIDRequestBody) GetDisplayName() *string { - if o == nil { - return nil - } - return o.DisplayName -} - -func (o *PutSCIMGroupsByIDRequestBody) GetMembers() []PutSCIMGroupsByIDMembers { - if o == nil { - return nil - } - return o.Members -} - -func (o *PutSCIMGroupsByIDRequestBody) GetExternalID() *string { - if o == nil { - return nil - } - return o.ExternalID -} - -func (o *PutSCIMGroupsByIDRequestBody) GetMeta() *PutSCIMGroupsByIDMeta { - if o == nil { - return nil - } - return o.Meta -} - -type PutSCIMGroupsByIDRequest struct { - // SCIM Used ID should be specified - ID string `pathParam:"style=simple,explode=false,name=id"` - // group to update - RequestBody *PutSCIMGroupsByIDRequestBody `request:"mediaType=application/json"` -} - -func (o *PutSCIMGroupsByIDRequest) GetID() string { - if o == nil { - return "" - } - return o.ID -} - -func (o *PutSCIMGroupsByIDRequest) GetRequestBody() *PutSCIMGroupsByIDRequestBody { - if o == nil { - return nil - } - return o.RequestBody -} - -type PutSCIMGroupsByIDSCIMGroupsResponseStatus string - -const ( - PutSCIMGroupsByIDSCIMGroupsResponseStatusFailed PutSCIMGroupsByIDSCIMGroupsResponseStatus = "failed" - PutSCIMGroupsByIDSCIMGroupsResponseStatusFiveHundredAndOne PutSCIMGroupsByIDSCIMGroupsResponseStatus = "501" -) - -func (e PutSCIMGroupsByIDSCIMGroupsResponseStatus) ToPointer() *PutSCIMGroupsByIDSCIMGroupsResponseStatus { - return &e -} - -func (e *PutSCIMGroupsByIDSCIMGroupsResponseStatus) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "failed": - fallthrough - case "501": - *e = PutSCIMGroupsByIDSCIMGroupsResponseStatus(v) - return nil - default: - return fmt.Errorf("invalid value for PutSCIMGroupsByIDSCIMGroupsResponseStatus: %v", v) - } -} - -// PutSCIMGroupsByIDSCIMGroupsResponse501ResponseBody - Internal error Failed -type PutSCIMGroupsByIDSCIMGroupsResponse501ResponseBody struct { - Status *PutSCIMGroupsByIDSCIMGroupsResponseStatus `json:"status,omitempty"` - Schemas *string `json:"schemas,omitempty"` - Detail *string `json:"detail,omitempty"` -} - -func (o *PutSCIMGroupsByIDSCIMGroupsResponse501ResponseBody) GetStatus() *PutSCIMGroupsByIDSCIMGroupsResponseStatus { - if o == nil { - return nil - } - return o.Status -} - -func (o *PutSCIMGroupsByIDSCIMGroupsResponse501ResponseBody) GetSchemas() *string { - if o == nil { - return nil - } - return o.Schemas -} - -func (o *PutSCIMGroupsByIDSCIMGroupsResponse501ResponseBody) GetDetail() *string { - if o == nil { - return nil - } - return o.Detail -} - -// PutSCIMGroupsByIDSCIMGroupsResponseResponseBody - Not authorized to execte the specific API. -type PutSCIMGroupsByIDSCIMGroupsResponseResponseBody struct { - Message *string `json:"message,omitempty"` -} - -func (o *PutSCIMGroupsByIDSCIMGroupsResponseResponseBody) GetMessage() *string { - if o == nil { - return nil - } - return o.Message -} - -type PutSCIMGroupsByIDSCIMGroupsStatus string - -const ( - PutSCIMGroupsByIDSCIMGroupsStatusFourHundred PutSCIMGroupsByIDSCIMGroupsStatus = "400" - PutSCIMGroupsByIDSCIMGroupsStatusFailed PutSCIMGroupsByIDSCIMGroupsStatus = "failed" -) - -func (e PutSCIMGroupsByIDSCIMGroupsStatus) ToPointer() *PutSCIMGroupsByIDSCIMGroupsStatus { - return &e -} - -func (e *PutSCIMGroupsByIDSCIMGroupsStatus) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "400": - fallthrough - case "failed": - *e = PutSCIMGroupsByIDSCIMGroupsStatus(v) - return nil - default: - return fmt.Errorf("invalid value for PutSCIMGroupsByIDSCIMGroupsStatus: %v", v) - } -} - -// PutSCIMGroupsByIDSCIMGroupsResponseBody - Failed -type PutSCIMGroupsByIDSCIMGroupsResponseBody struct { - Status *PutSCIMGroupsByIDSCIMGroupsStatus `json:"status,omitempty"` - Description *string `json:"description,omitempty"` - // schema of the resource - Schemas []string `json:"schemas,omitempty"` -} - -func (o *PutSCIMGroupsByIDSCIMGroupsResponseBody) GetStatus() *PutSCIMGroupsByIDSCIMGroupsStatus { - if o == nil { - return nil - } - return o.Status -} - -func (o *PutSCIMGroupsByIDSCIMGroupsResponseBody) GetDescription() *string { - if o == nil { - return nil - } - return o.Description -} - -func (o *PutSCIMGroupsByIDSCIMGroupsResponseBody) GetSchemas() []string { - if o == nil { - return nil - } - return o.Schemas -} - -type PutSCIMGroupsByIDSCIMGroupsSchemas string - -const ( - PutSCIMGroupsByIDSCIMGroupsSchemasUrnIetfParamsScimSchemasCore20Group PutSCIMGroupsByIDSCIMGroupsSchemas = "urn:ietf:params:scim:schemas:core:2.0:Group" -) - -func (e PutSCIMGroupsByIDSCIMGroupsSchemas) ToPointer() *PutSCIMGroupsByIDSCIMGroupsSchemas { - return &e -} - -func (e *PutSCIMGroupsByIDSCIMGroupsSchemas) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "urn:ietf:params:scim:schemas:core:2.0:Group": - *e = PutSCIMGroupsByIDSCIMGroupsSchemas(v) - return nil - default: - return fmt.Errorf("invalid value for PutSCIMGroupsByIDSCIMGroupsSchemas: %v", v) - } -} - -type PutSCIMGroupsByIDSCIMGroupsMembers struct { - Value *string `json:"value,omitempty"` -} - -func (o *PutSCIMGroupsByIDSCIMGroupsMembers) GetValue() *string { - if o == nil { - return nil - } - return o.Value -} - -// PutSCIMGroupsByIDSCIMGroupsMeta - meta information -type PutSCIMGroupsByIDSCIMGroupsMeta struct { - // resource type User/Group. - ResourceType *string `json:"resourceType,omitempty"` -} - -func (o *PutSCIMGroupsByIDSCIMGroupsMeta) GetResourceType() *string { - if o == nil { - return nil - } - return o.ResourceType -} - -type PutSCIMGroupsByIDStatus int64 - -const ( - PutSCIMGroupsByIDStatusTwoHundredAndOne PutSCIMGroupsByIDStatus = 201 - PutSCIMGroupsByIDStatusTwoHundred PutSCIMGroupsByIDStatus = 200 -) - -func (e PutSCIMGroupsByIDStatus) ToPointer() *PutSCIMGroupsByIDStatus { - return &e -} - -func (e *PutSCIMGroupsByIDStatus) UnmarshalJSON(data []byte) error { - var v int64 - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case 201: - fallthrough - case 200: - *e = PutSCIMGroupsByIDStatus(v) - return nil - default: - return fmt.Errorf("invalid value for PutSCIMGroupsByIDStatus: %v", v) - } -} - -// PutSCIMGroupsByIDResponseBody - Successfully updated the User. -type PutSCIMGroupsByIDResponseBody struct { - // SCIM Group ID - ID *string `json:"id,omitempty"` - // schema of the resource - Schemas []PutSCIMGroupsByIDSCIMGroupsSchemas `json:"schemas,omitempty"` - // Display name for group. - DisplayName *string `json:"displayName,omitempty"` - Members []PutSCIMGroupsByIDSCIMGroupsMembers `json:"members,omitempty"` - // Optional - Scim External ID - ExternalID *string `json:"externalId,omitempty"` - // meta information - Meta *PutSCIMGroupsByIDSCIMGroupsMeta `json:"meta,omitempty"` - Status *PutSCIMGroupsByIDStatus `json:"status,omitempty"` -} - -func (o *PutSCIMGroupsByIDResponseBody) GetID() *string { - if o == nil { - return nil - } - return o.ID -} - -func (o *PutSCIMGroupsByIDResponseBody) GetSchemas() []PutSCIMGroupsByIDSCIMGroupsSchemas { - if o == nil { - return nil - } - return o.Schemas -} - -func (o *PutSCIMGroupsByIDResponseBody) GetDisplayName() *string { - if o == nil { - return nil - } - return o.DisplayName -} - -func (o *PutSCIMGroupsByIDResponseBody) GetMembers() []PutSCIMGroupsByIDSCIMGroupsMembers { - if o == nil { - return nil - } - return o.Members -} - -func (o *PutSCIMGroupsByIDResponseBody) GetExternalID() *string { - if o == nil { - return nil - } - return o.ExternalID -} - -func (o *PutSCIMGroupsByIDResponseBody) GetMeta() *PutSCIMGroupsByIDSCIMGroupsMeta { - if o == nil { - return nil - } - return o.Meta -} - -func (o *PutSCIMGroupsByIDResponseBody) GetStatus() *PutSCIMGroupsByIDStatus { - if o == nil { - return nil - } - return o.Status -} - -type PutSCIMGroupsByIDResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response - // Successfully updated the User. - TwoHundredApplicationJSONObject *PutSCIMGroupsByIDResponseBody - // Failed - FourHundredApplicationJSONObject *PutSCIMGroupsByIDSCIMGroupsResponseBody - // Not authorized to execte the specific API. - FourHundredAndThreeApplicationJSONObject *PutSCIMGroupsByIDSCIMGroupsResponseResponseBody - // Internal error Failed - FiveHundredAndOneApplicationJSONObject *PutSCIMGroupsByIDSCIMGroupsResponse501ResponseBody -} - -func (o *PutSCIMGroupsByIDResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *PutSCIMGroupsByIDResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *PutSCIMGroupsByIDResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} - -func (o *PutSCIMGroupsByIDResponse) GetTwoHundredApplicationJSONObject() *PutSCIMGroupsByIDResponseBody { - if o == nil { - return nil - } - return o.TwoHundredApplicationJSONObject -} - -func (o *PutSCIMGroupsByIDResponse) GetFourHundredApplicationJSONObject() *PutSCIMGroupsByIDSCIMGroupsResponseBody { - if o == nil { - return nil - } - return o.FourHundredApplicationJSONObject -} - -func (o *PutSCIMGroupsByIDResponse) GetFourHundredAndThreeApplicationJSONObject() *PutSCIMGroupsByIDSCIMGroupsResponseResponseBody { - if o == nil { - return nil - } - return o.FourHundredAndThreeApplicationJSONObject -} - -func (o *PutSCIMGroupsByIDResponse) GetFiveHundredAndOneApplicationJSONObject() *PutSCIMGroupsByIDSCIMGroupsResponse501ResponseBody { - if o == nil { - return nil - } - return o.FiveHundredAndOneApplicationJSONObject -} diff --git a/internal/sdk/models/shared/protocolresponseitem.go b/internal/sdk/models/shared/protocolresponseitem.go index e878d52..8da84ad 100644 --- a/internal/sdk/models/shared/protocolresponseitem.go +++ b/internal/sdk/models/shared/protocolresponseitem.go @@ -3,8 +3,17 @@ package shared type ProtocolResponseItem struct { + ID *int `json:"id,omitempty"` Port *string `json:"port,omitempty"` Transport *string `json:"transport,omitempty"` + ServiceID *int `json:"service_id,omitempty"` +} + +func (o *ProtocolResponseItem) GetID() *int { + if o == nil { + return nil + } + return o.ID } func (o *ProtocolResponseItem) GetPort() *string { @@ -20,3 +29,10 @@ func (o *ProtocolResponseItem) GetTransport() *string { } return o.Transport } + +func (o *ProtocolResponseItem) GetServiceID() *int { + if o == nil { + return nil + } + return o.ServiceID +} diff --git a/internal/sdk/models/shared/tagitemnoid.go b/internal/sdk/models/shared/tagitemnoid.go index d4adce9..1083922 100644 --- a/internal/sdk/models/shared/tagitemnoid.go +++ b/internal/sdk/models/shared/tagitemnoid.go @@ -2,8 +2,23 @@ package shared +import ( + "github.com/speakeasy/terraform-provider-terraform/internal/sdk/internal/utils" +) + type TagItemNoID struct { - TagName *string `json:"tag_name,omitempty"` + TagName *string `default:"tag_name" json:"tag_name"` +} + +func (t TagItemNoID) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(t, "", false) +} + +func (t *TagItemNoID) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &t, "", false, false); err != nil { + return err + } + return nil } func (o *TagItemNoID) GetTagName() *string { diff --git a/internal/sdk/npapublishers.go b/internal/sdk/npapublishers.go index b66edba..8c3f3c7 100644 --- a/internal/sdk/npapublishers.go +++ b/internal/sdk/npapublishers.go @@ -73,9 +73,11 @@ func (s *NPAPublishers) ListObjects(ctx context.Context, request operations.GetN _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -182,9 +184,11 @@ func (s *NPAPublishers) Create(ctx context.Context, request operations.CreateNPA _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -281,9 +285,11 @@ func (s *NPAPublishers) Delete(ctx context.Context, request operations.DeleteNPA _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -390,9 +396,11 @@ func (s *NPAPublishers) Update(ctx context.Context, request operations.ReplaceNP _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -489,9 +497,11 @@ func (s *NPAPublishers) Read(ctx context.Context, request operations.GetNPAPubli _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) diff --git a/internal/sdk/npapublishersapps.go b/internal/sdk/npapublishersapps.go index f121d92..52f3925 100644 --- a/internal/sdk/npapublishersapps.go +++ b/internal/sdk/npapublishersapps.go @@ -68,9 +68,11 @@ func (s *NPAPublishersApps) ListObjects(ctx context.Context, request operations. _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) diff --git a/internal/sdk/npapublishersreleases.go b/internal/sdk/npapublishersreleases.go index 8b18090..956ba27 100644 --- a/internal/sdk/npapublishersreleases.go +++ b/internal/sdk/npapublishersreleases.go @@ -73,9 +73,11 @@ func (s *NPAPublishersReleases) ListObjects(ctx context.Context, request operati _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) diff --git a/internal/sdk/npapublisherupgradeprofiles.go b/internal/sdk/npapublisherupgradeprofiles.go index 98c3570..3b578cf 100644 --- a/internal/sdk/npapublisherupgradeprofiles.go +++ b/internal/sdk/npapublisherupgradeprofiles.go @@ -73,9 +73,11 @@ func (s *NPAPublisherUpgradeProfiles) ListObjects(ctx context.Context, request o _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -182,9 +184,11 @@ func (s *NPAPublisherUpgradeProfiles) Create(ctx context.Context, request operat _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -281,9 +285,11 @@ func (s *NPAPublisherUpgradeProfiles) Delete(ctx context.Context, request operat _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -390,9 +396,11 @@ func (s *NPAPublisherUpgradeProfiles) Update(ctx context.Context, request operat _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -489,9 +497,11 @@ func (s *NPAPublisherUpgradeProfiles) Read(ctx context.Context, request operatio _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) diff --git a/internal/sdk/publishertoken.go b/internal/sdk/publishertoken.go index 181f4a4..44de810 100644 --- a/internal/sdk/publishertoken.go +++ b/internal/sdk/publishertoken.go @@ -68,9 +68,11 @@ func (s *PublisherToken) Create(ctx context.Context, request operations.Generate _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) diff --git a/internal/sdk/scimgroups.go b/internal/sdk/scimgroups.go index d471c1b..3a84be6 100644 --- a/internal/sdk/scimgroups.go +++ b/internal/sdk/scimgroups.go @@ -37,7 +37,7 @@ func (s *ScimGroups) CreateSCIMGroups(ctx context.Context, request *operations.C } baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - opURL, err := url.JoinPath(baseURL, "/Groups") + opURL, err := url.JoinPath(baseURL, "/scim/Groups") if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } @@ -75,9 +75,11 @@ func (s *ScimGroups) CreateSCIMGroups(ctx context.Context, request *operations.C _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -166,7 +168,7 @@ func (s *ScimGroups) GetSCIMGroups(ctx context.Context, request operations.GetSC } baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - opURL, err := url.JoinPath(baseURL, "/Groups") + opURL, err := url.JoinPath(baseURL, "/scim/Groups") if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } @@ -202,9 +204,11 @@ func (s *ScimGroups) GetSCIMGroups(ctx context.Context, request operations.GetSC _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -282,34 +286,28 @@ func (s *ScimGroups) GetSCIMGroups(ctx context.Context, request operations.GetSC return res, nil } -// PutSCIMGroupsByID - Replace existing SCIM Group for {id} -// Replace existing SCIM Group for {id} -func (s *ScimGroups) PutSCIMGroupsByID(ctx context.Context, request operations.PutSCIMGroupsByIDRequest) (*operations.PutSCIMGroupsByIDResponse, error) { +// GetSCIMGroupsByID - Get SCIM Group by {id} +// Get SCIM Group by {id} +func (s *ScimGroups) GetSCIMGroupsByID(ctx context.Context, request operations.GetSCIMGroupsByIDRequest) (*operations.GetSCIMGroupsByIDResponse, error) { hookCtx := hooks.HookContext{ Context: ctx, - OperationID: "putSCIMGroupsById", + OperationID: "getSCIMGroupsById", OAuth2Scopes: []string{}, SecuritySource: s.sdkConfiguration.Security, } baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - opURL, err := utils.GenerateURL(ctx, baseURL, "/Groups/{id}", request, nil) + opURL, err := utils.GenerateURL(ctx, baseURL, "/scim/Groups/{id}", request, nil) if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "RequestBody", "json", `request:"mediaType=application/json"`) - if err != nil { - return nil, err - } - - req, err := http.NewRequestWithContext(ctx, "PUT", opURL, bodyReader) + req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) - req.Header.Set("Content-Type", reqContentType) if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { return nil, err @@ -331,9 +329,11 @@ func (s *ScimGroups) PutSCIMGroupsByID(ctx context.Context, request operations.P _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -342,7 +342,7 @@ func (s *ScimGroups) PutSCIMGroupsByID(ctx context.Context, request operations.P } } - res := &operations.PutSCIMGroupsByIDResponse{ + res := &operations.GetSCIMGroupsByIDResponse{ StatusCode: httpRes.StatusCode, ContentType: httpRes.Header.Get("Content-Type"), RawResponse: httpRes, @@ -359,7 +359,7 @@ func (s *ScimGroups) PutSCIMGroupsByID(ctx context.Context, request operations.P case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): - var out operations.PutSCIMGroupsByIDResponseBody + var out operations.GetSCIMGroupsByIDResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } @@ -368,22 +368,10 @@ func (s *ScimGroups) PutSCIMGroupsByID(ctx context.Context, request operations.P default: return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } - case httpRes.StatusCode == 400: - switch { - case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): - var out operations.PutSCIMGroupsByIDSCIMGroupsResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - - res.FourHundredApplicationJSONObject = &out - default: - return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) - } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): - var out operations.PutSCIMGroupsByIDSCIMGroupsResponseResponseBody + var out operations.GetSCIMGroupsByIDSCIMGroupsResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } @@ -395,7 +383,7 @@ func (s *ScimGroups) PutSCIMGroupsByID(ctx context.Context, request operations.P case httpRes.StatusCode == 501: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): - var out operations.PutSCIMGroupsByIDSCIMGroupsResponse501ResponseBody + var out operations.GetSCIMGroupsByIDSCIMGroupsResponseResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } @@ -411,28 +399,34 @@ func (s *ScimGroups) PutSCIMGroupsByID(ctx context.Context, request operations.P return res, nil } -// GetSCIMGroupsByID - Get SCIM Group by {id} -// Get SCIM Group by {id} -func (s *ScimGroups) GetSCIMGroupsByID(ctx context.Context, request operations.GetSCIMGroupsByIDRequest) (*operations.GetSCIMGroupsByIDResponse, error) { +// PatchSCIMUsersByID - Update existing SCIM Group record by {id}. +// Updating attribute in existing group with the id. +func (s *ScimGroups) PatchSCIMUsersByID(ctx context.Context, request operations.PatchSCIMUsersByIDRequest) (*operations.PatchSCIMUsersByIDResponse, error) { hookCtx := hooks.HookContext{ Context: ctx, - OperationID: "getSCIMGroupsById", + OperationID: "patchSCIMUsersById", OAuth2Scopes: []string{}, SecuritySource: s.sdkConfiguration.Security, } baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - opURL, err := utils.GenerateURL(ctx, baseURL, "/Groups/{id}", request, nil) + opURL, err := utils.GenerateURL(ctx, baseURL, "/scim/Groups/{id}", request, nil) if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } - req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil) + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "RequestBody", "json", `request:"mediaType=application/json"`) + if err != nil { + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "PATCH", opURL, bodyReader) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { return nil, err @@ -454,9 +448,11 @@ func (s *ScimGroups) GetSCIMGroupsByID(ctx context.Context, request operations.G _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -465,7 +461,7 @@ func (s *ScimGroups) GetSCIMGroupsByID(ctx context.Context, request operations.G } } - res := &operations.GetSCIMGroupsByIDResponse{ + res := &operations.PatchSCIMUsersByIDResponse{ StatusCode: httpRes.StatusCode, ContentType: httpRes.Header.Get("Content-Type"), RawResponse: httpRes, @@ -479,22 +475,23 @@ func (s *ScimGroups) GetSCIMGroupsByID(ctx context.Context, request operations.G httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { - case httpRes.StatusCode == 200: + case httpRes.StatusCode == 204: + case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): - var out operations.GetSCIMGroupsByIDResponseBody + var out operations.PatchSCIMUsersByIDResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.TwoHundredApplicationJSONObject = &out + res.FourHundredApplicationJSONObject = &out default: return nil, errors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): - var out operations.GetSCIMGroupsByIDSCIMGroupsResponseBody + var out operations.PatchSCIMUsersByIDSCIMGroupsResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } @@ -506,7 +503,7 @@ func (s *ScimGroups) GetSCIMGroupsByID(ctx context.Context, request operations.G case httpRes.StatusCode == 501: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): - var out operations.GetSCIMGroupsByIDSCIMGroupsResponseResponseBody + var out operations.PatchSCIMUsersByIDSCIMGroupsResponseResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } @@ -533,7 +530,7 @@ func (s *ScimGroups) DeleteSCIMUsersByID(ctx context.Context, request operations } baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - opURL, err := utils.GenerateURL(ctx, baseURL, "/Groups/{id}", request, nil) + opURL, err := utils.GenerateURL(ctx, baseURL, "/scim/Groups/{id}", request, nil) if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } @@ -565,9 +562,11 @@ func (s *ScimGroups) DeleteSCIMUsersByID(ctx context.Context, request operations _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) diff --git a/internal/sdk/scimusers.go b/internal/sdk/scimusers.go index 6ae8f28..2c8a6e3 100644 --- a/internal/sdk/scimusers.go +++ b/internal/sdk/scimusers.go @@ -37,7 +37,7 @@ func (s *ScimUsers) CreateSCIMUsers(ctx context.Context, request *operations.Cre } baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - opURL, err := url.JoinPath(baseURL, "/Users") + opURL, err := url.JoinPath(baseURL, "/scim/Users") if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } @@ -75,9 +75,11 @@ func (s *ScimUsers) CreateSCIMUsers(ctx context.Context, request *operations.Cre _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -166,7 +168,7 @@ func (s *ScimUsers) GetSCIMUsers(ctx context.Context, request operations.GetSCIM } baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - opURL, err := url.JoinPath(baseURL, "/Users") + opURL, err := url.JoinPath(baseURL, "/scim/Users") if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } @@ -202,9 +204,11 @@ func (s *ScimUsers) GetSCIMUsers(ctx context.Context, request operations.GetSCIM _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -293,7 +297,7 @@ func (s *ScimUsers) PutSCIMUsersByID(ctx context.Context, request operations.Put } baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - opURL, err := utils.GenerateURL(ctx, baseURL, "/Users/{id}", request, nil) + opURL, err := utils.GenerateURL(ctx, baseURL, "/scim/Users/{id}", request, nil) if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } @@ -331,9 +335,11 @@ func (s *ScimUsers) PutSCIMUsersByID(ctx context.Context, request operations.Put _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -422,7 +428,7 @@ func (s *ScimUsers) GetSCIMUsersByID(ctx context.Context, request operations.Get } baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - opURL, err := utils.GenerateURL(ctx, baseURL, "/Users/{id}", request, nil) + opURL, err := utils.GenerateURL(ctx, baseURL, "/scim/Users/{id}", request, nil) if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } @@ -454,9 +460,11 @@ func (s *ScimUsers) GetSCIMUsersByID(ctx context.Context, request operations.Get _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -533,7 +541,7 @@ func (s *ScimUsers) UpdateSCIMUsersByID(ctx context.Context, request operations. } baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - opURL, err := utils.GenerateURL(ctx, baseURL, "/Users/{id}", request, nil) + opURL, err := utils.GenerateURL(ctx, baseURL, "/scim/Users/{id}", request, nil) if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } @@ -571,9 +579,11 @@ func (s *ScimUsers) UpdateSCIMUsersByID(ctx context.Context, request operations. _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -651,7 +661,7 @@ func (s *ScimUsers) DeleteSCIMUsers(ctx context.Context, request operations.Dele } baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - opURL, err := utils.GenerateURL(ctx, baseURL, "/Users/{id}", request, nil) + opURL, err := utils.GenerateURL(ctx, baseURL, "/scim/Users/{id}", request, nil) if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } @@ -683,9 +693,11 @@ func (s *ScimUsers) DeleteSCIMUsers(ctx context.Context, request operations.Dele _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) diff --git a/internal/sdk/terraformproviderns.go b/internal/sdk/terraformproviderns.go index 1eaba81..3db088d 100644 --- a/internal/sdk/terraformproviderns.go +++ b/internal/sdk/terraformproviderns.go @@ -170,8 +170,8 @@ func New(opts ...SDKOption) *TerraformProviderNs { Language: "go", OpenAPIDocVersion: "2.0.0", SDKVersion: "0.0.1", - GenVersion: "2.286.7", - UserAgent: "speakeasy-sdk/go 0.0.1 2.286.7 2.0.0 github.com/speakeasy/terraform-provider-terraform/internal/sdk", + GenVersion: "2.312.0", + UserAgent: "speakeasy-sdk/go 0.0.1 2.312.0 2.0.0 github.com/speakeasy/terraform-provider-terraform/internal/sdk", ServerDefaults: []map[string]string{ { "tenant": "demo", @@ -266,9 +266,11 @@ func (s *TerraformProviderNs) UpdateNPAPublisherByID(ctx context.Context, reques _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -371,9 +373,11 @@ func (s *TerraformProviderNs) TriggerNPAPublisherUpdate(ctx context.Context, req _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -470,9 +474,11 @@ func (s *TerraformProviderNs) GetNPAPublisherAlerts(ctx context.Context) (*opera _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -575,9 +581,11 @@ func (s *TerraformProviderNs) ConfigureNPAPublisherAlerts(ctx context.Context, r _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -683,9 +691,11 @@ func (s *TerraformProviderNs) UpdateNPAPublisherProfilesBulk(ctx context.Context _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -786,9 +796,11 @@ func (s *TerraformProviderNs) GetNPAPolicyRules(ctx context.Context, request ope _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -891,9 +903,11 @@ func (s *TerraformProviderNs) CreateNPAPolicyRules(ctx context.Context, request _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -990,9 +1004,11 @@ func (s *TerraformProviderNs) DeleteNPAPolicyRules(ctx context.Context, request _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -1099,9 +1115,11 @@ func (s *TerraformProviderNs) PatchNPAPolicyRulesByID(ctx context.Context, reque _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -1202,9 +1220,11 @@ func (s *TerraformProviderNs) GetNPAPolicyRulesByID(ctx context.Context, request _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -1305,9 +1325,11 @@ func (s *TerraformProviderNs) GetNPAPolicyGroups(ctx context.Context, request op _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -1414,9 +1436,11 @@ func (s *TerraformProviderNs) CreateNPAPolicyGroups(ctx context.Context, request _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -1513,9 +1537,11 @@ func (s *TerraformProviderNs) DeleteNPAPolicyGroups(ctx context.Context, request _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -1622,9 +1648,11 @@ func (s *TerraformProviderNs) PatchNPAPolicyGroupsByID(ctx context.Context, requ _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -1721,9 +1749,11 @@ func (s *TerraformProviderNs) GetNPAPolicyGroupsByID(ctx context.Context, reques _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -1824,9 +1854,11 @@ func (s *TerraformProviderNs) GetNPAApps(ctx context.Context, request operations _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -1933,9 +1965,11 @@ func (s *TerraformProviderNs) CreateNPAApps(ctx context.Context, request operati _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -2032,9 +2066,11 @@ func (s *TerraformProviderNs) DeleteNPAApps(ctx context.Context, request operati _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -2141,9 +2177,11 @@ func (s *TerraformProviderNs) ReplaceNPAAppsByID(ctx context.Context, request op _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -2250,9 +2288,11 @@ func (s *TerraformProviderNs) PatchNPAAppsByID(ctx context.Context, request oper _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -2349,9 +2389,11 @@ func (s *TerraformProviderNs) GetNPAAppsByID(ctx context.Context, request operat _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -2454,9 +2496,11 @@ func (s *TerraformProviderNs) QueryNPAPolicyInUse(ctx context.Context, request o _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -2559,9 +2603,11 @@ func (s *TerraformProviderNs) CreateNPATags(ctx context.Context, request shared. _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -2664,9 +2710,11 @@ func (s *TerraformProviderNs) PatchNPATags(ctx context.Context, request shared.T _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -2769,9 +2817,11 @@ func (s *TerraformProviderNs) DeleteNPATags(ctx context.Context, request shared. _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -2868,9 +2918,11 @@ func (s *TerraformProviderNs) GetNPATags(ctx context.Context) (*operations.GetNP _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -2967,9 +3019,11 @@ func (s *TerraformProviderNs) GetNPATagsByID(ctx context.Context, request operat _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -3072,9 +3126,11 @@ func (s *TerraformProviderNs) ReplaceNPATagsByID(ctx context.Context, request op _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -3177,9 +3233,11 @@ func (s *TerraformProviderNs) DeleteNPATagsByID(ctx context.Context, request ope _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -3282,9 +3340,11 @@ func (s *TerraformProviderNs) RetrieveNPAPoliciesInUse(ctx context.Context, requ _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -3385,9 +3445,11 @@ func (s *TerraformProviderNs) GetGrePops(ctx context.Context, request operations _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -3536,9 +3598,11 @@ func (s *TerraformProviderNs) GetGrePopsByID(ctx context.Context, request operat _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -3699,9 +3763,11 @@ func (s *TerraformProviderNs) GetGreTunnels(ctx context.Context, request operati _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -3852,9 +3918,11 @@ func (s *TerraformProviderNs) CreateGreTunnels(ctx context.Context, request shar _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -4015,9 +4083,11 @@ func (s *TerraformProviderNs) GetGreTunnelsByID(ctx context.Context, request ope _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -4180,9 +4250,11 @@ func (s *TerraformProviderNs) PatchGreTunnelsByID(ctx context.Context, request o _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -4339,9 +4411,11 @@ func (s *TerraformProviderNs) DeleteGreTunnels(ctx context.Context, request oper _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -4490,9 +4564,11 @@ func (s *TerraformProviderNs) GetIpsecPops(ctx context.Context, request operatio _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -4641,9 +4717,11 @@ func (s *TerraformProviderNs) GetIpsecPopsByID(ctx context.Context, request oper _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -4804,9 +4882,11 @@ func (s *TerraformProviderNs) GetIpsecTunnels(ctx context.Context, request opera _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -4957,9 +5037,11 @@ func (s *TerraformProviderNs) CreateIpsecTunnels(ctx context.Context, request sh _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -5120,9 +5202,11 @@ func (s *TerraformProviderNs) GetIpsecTunnelsByID(ctx context.Context, request o _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -5285,9 +5369,11 @@ func (s *TerraformProviderNs) PatchIpsecTunnelsByID(ctx context.Context, request _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) @@ -5444,9 +5530,11 @@ func (s *TerraformProviderNs) DeleteIpsecTunnels(ctx context.Context, request op _, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err) return nil, err } else if utils.MatchStatusCodes([]string{}, httpRes.StatusCode) { - httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) + _httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil) if err != nil { return nil, err + } else if _httpRes != nil { + httpRes = _httpRes } } else { httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes) From 21fa940385616d7c79b75d26224352a61b898eb3 Mon Sep 17 00:00:00 2001 From: Justin Adrian Date: Fri, 19 Apr 2024 14:29:30 -0400 Subject: [PATCH 6/8] beta branch --- .speakeasy/gen.lock | 4 ++-- .speakeasy/gen.yaml | 2 +- README.md | 2 +- examples/provider/provider.tf | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index e0fed12..875f4c8 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -5,8 +5,8 @@ management: docVersion: 2.0.0 speakeasyVersion: 1.264.1 generationVersion: 2.312.0 - releaseVersion: 0.3.0 - configChecksum: ee343df04823d6938af17f679dd4624f + releaseVersion: 0.0.1 + configChecksum: 81d4a21f19ec8dc4366ab298fa197cfe features: terraform: constsAndDefaults: 0.1.4 diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index e9936da..96d7950 100755 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -12,7 +12,7 @@ generation: auth: oAuth2ClientCredentialsEnabled: true terraform: - version: 0.3.0 + version: 0.0.1 author: speakeasy imports: option: openapi diff --git a/README.md b/README.md index 7f2324f..ca436e7 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ terraform { required_providers { terraform = { source = "speakeasy/terraform" - version = "0.3.0" + version = "0.0.1" } } } diff --git a/examples/provider/provider.tf b/examples/provider/provider.tf index ba0a9f7..91742ba 100644 --- a/examples/provider/provider.tf +++ b/examples/provider/provider.tf @@ -2,7 +2,7 @@ terraform { required_providers { terraform = { source = "speakeasy/terraform" - version = "0.3.0" + version = "0.0.1" } } } From fda97ad9ce8289d2d33b5d920ae8765ec9fc7734 Mon Sep 17 00:00:00 2001 From: Justin Adrian <50587064+jadrianNS@users.noreply.github.com> Date: Fri, 19 Apr 2024 14:41:41 -0400 Subject: [PATCH 7/8] Create terraform_release --- .github/workflows/terraform_release | 42 +++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .github/workflows/terraform_release diff --git a/.github/workflows/terraform_release b/.github/workflows/terraform_release new file mode 100644 index 0000000..03dda5d --- /dev/null +++ b/.github/workflows/terraform_release @@ -0,0 +1,42 @@ +# Terraform Provider release workflow. +name: Release + +# This GitHub action creates a release when a tag that matches the pattern +# "v*" (e.g. v0.1.0) is created. +on: + push: + tags: + - 'v0.0.*' + workflow_dispatch: + +# Releases need permissions to read and write the repository contents. +# GitHub considers creating releases and uploading assets as writing contents. +permissions: + contents: write + +jobs: + goreleaser: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3.5.0 + with: + # Allow goreleaser to access older tag information. + fetch-depth: 0 + - uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0 + with: + go-version-file: 'go.mod' + cache: true + - name: Import GPG key + uses: crazy-max/ghaction-import-gpg@111c56156bcc6918c056dbef52164cfa583dc549 # v5.2.0 + id: import_gpg + with: + gpg_private_key: ${{ secrets.terraform_gpg_secret_key }} + passphrase: ${{ secrets.terraform_gpg_passphrase }} + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@f82d6c1c344bcacabba2c841718984797f664a6b # v4.2.0 + with: + args: release --clean + env: + # GitHub sets the GITHUB_TOKEN secret automatically. + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }} From bc9c8221cfb0b1332e8f95f3a47ee97edf45e8bb Mon Sep 17 00:00:00 2001 From: Justin Adrian <50587064+jadrianNS@users.noreply.github.com> Date: Fri, 19 Apr 2024 14:44:49 -0400 Subject: [PATCH 8/8] Rename terraform_release to terraform_release.yaml --- .github/workflows/{terraform_release => terraform_release.yaml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{terraform_release => terraform_release.yaml} (100%) diff --git a/.github/workflows/terraform_release b/.github/workflows/terraform_release.yaml similarity index 100% rename from .github/workflows/terraform_release rename to .github/workflows/terraform_release.yaml